Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 奇怪的mysql错误,不接受word';选择';插入/更新时_Php_Mysql - Fatal编程技术网

Php 奇怪的mysql错误,不接受word';选择';插入/更新时

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

我有几个textarea字段,作为
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)。”;