php - 奇怪的mysql错误,插入/更新时不接受单词 'select'的变体

标签 php mysql

我有几个文本区域字段,它们作为文本保存到数据库中。如果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/

相关文章:

mysql - 在mysql集群中运行mysql

php - MySQL - 如何在更复杂的查询中替换 ORDER BY?

php - 排序在 laravel http 响应中不起作用

mysql - 如何优化此查询?运行需要 3 分钟

mysql - 如何将.sql导入和导出到docker容器中的mysql或postgres

php - 在 PHP 中自动更新成员资格 MySQL 数据库

mysql - 当我们使用嵌套查询 for max(cgpa) 时,我们可以使用 select * 吗

php - 从 Joomla 的 jos_user 表中的自定义字段获取数据

PHP 和 cURL : same code but unable to fetch content on existing server conf

javascript - 按下 Enter 后将焦点设置在动态创建的输入字段上