我有几个文本区域字段,它们作为文本
保存到数据库中。如果textarea输入中有select、selected或selecting,则查询失败。我以前从未遇到过这种情况。我做错了什么吗?
以下是更新查询代码示例:
$Query = "UPDATE project SET status = '".mysql_real_escape_string($_REQUEST['status'])."',
name = '".mysql_real_escape_string($_REQUEST['name'])."',
summary = '".mysql_real_escape_string($_REQUEST['summary'])."',
detail = '".mysql_real_escape_string($_REQUEST['detail'])."',
category = '".mysql_real_escape_string($_REQUEST['category'])."',
language = '".mysql_real_escape_string($_REQUEST['language'])."',
updated_date = '".time()."',
contact = '".mysql_real_escape_string($_REQUEST['contact'])."'
WHERE id = '".mysql_real_escape_string($_REQUEST['id'])."'";
$mysqlobject->sql_query($Query);
function sql_query($sql="")
{
if(empty($sql)) { return false; }
if(empty($this->CONN)) { return false; }
$conn = $this->CONN;
$results = mysql_query($sql,$conn);
if(!$results)
{
echo "<H2>Query went bad!</H2>\n";
echo mysql_errno().": ".mysql_error()."<P>";
return false;
}
return $results;
}
摘要和详细信息字段采用文本区域数据
最佳答案
您省略了与数据库交互的代码。尽管如此,我的猜测是您正在使用一个天真地停止在 SELECT 一词上的函数,以试图防止 SQL 注入(inject)。
关于php - 奇怪的mysql错误,插入/更新时不接受单词 'select'的变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3509292/