Php 奇怪的mysql错误,不接受word';选择';插入/更新时
我有几个textarea字段,作为Php 奇怪的mysql错误,不接受word';选择';插入/更新时,php,mysql,Php,Mysql,我有几个textarea字段,作为text保存到数据库中。如果textarea输入中有select、selected或selecting,则查询失败。我以前从未遇到过这种情况。我做错什么了吗 以下是更新查询代码示例: $Query = "UPDATE project SET status = '".mysql_real_escape_string($_REQUEST['status'])."', name = '".mysql_real_escape_string($_REQUEST['nam
text
保存到数据库中。如果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;
}
$Query=“更新项目集状态=”.mysql\u real\u escape\u字符串($\u REQUEST['status'])。“,
名称=“.mysql\u real\u escape\u字符串($\u请求['name'])。”,
summary=“.mysql\u real\u escape\u字符串($\u请求['summary'])。”,
detail=“.mysql\u real\u escape\u字符串($\u请求['detail'])。”,
category='”.mysql\u real\u escape\u string($\u REQUEST['category'])。“,
language='”.mysql\u real\u escape\u string($\u REQUEST['language'])。“,
更新日期=“.time().”,
联系人=“.mysql\u real\u escape\u字符串($\u请求['contact'])。”“
其中id=“.mysql\u real\u escape\u string($\u REQUEST['id'])。”;
$mysqlobject->sql\u查询($query);
函数sql\u查询($sql=”“)
{
if(空($sql)){return false;}
if(空($this->CONN)){return false;}
$conn=$this->conn;
$results=mysql\u查询($sql,$conn);
如果(!$results)
{
echo“查询出错!\n”;
echo mysql_errno().“:”.mysql_error().“”;
返回false;
}
返回$results;
}
summary和detail字段获取textarea数据您省略了与DB交互的代码。尽管如此,我猜想您正在使用一个函数,该函数天真地停止在单词SELECT上,试图防止SQL注入。运行这个函数,您会得到什么?echo mysql_errno($link)。": " . mysql\u错误($link)。“\n”;为什么不使用PDO使代码更美观、更安全?@Haim-即使错误报告设置为all,我也会收到一个内部服务器错误500。@Borealid-我继承了代码,没有时间修饰它。你确定这是导致此特定问题的代码吗<代码>echo mysql_errno()。:“.mysql_error()。”
”代码>-如果查询失败,则已执行此操作。它的产量是多少?还可以让它显示实际的查询,例如,`echo mysql\u errno()。:“.mysql\u error().”。htmlspecialchars($sql)。”;