"'字段列表'中的未知列'geir'"

Jen*_*ers 2 php mysql

我写了这个查询:

$query = "UPDATE encodage_answer 
             SET Answer = geir 
           WHERE encodage_question_ID = 128 
             AND encodage_ID = 305 
             AND Extra = NULL";
$insert = mysql_query($query, $connection) or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)

但是如果我运行这段代码,我总会得到同样的错误:

"字段列表"中的未知列'geir'

这可能是我,但我想我不是说geir是一个列/字段; 有什么问题?

当我直接在我的PHPMyAdmin中运行此查询时,它运行良好.

更新:完整代码:

答案存在,$ Extra变量为Null

$AnswerExists = answer_exists($Question_ID, $encodage_ID, $Extra);
            if($AnswerExists <> ""){
                if($Answer != NULL){
                    $correctAnswer = mysql_prep($Answer);
                    if($Extra != NULL){
                        $query = "UPDATE `encodage_answer` SET `Answer` = '" . mysql_prep($Answer) . "' WHERE `ID` = '" . $AnswerExists . "'";
                        $insert = mysql_query($query, $connection) or die(mysql_error());
                        $query2 = "UPDATE `encodage_answer` SET `Extra` = '" . $Extra . "' WHERE `ID` = '" . $AnswerExists . "'";
                        $insert = mysql_query($query2, $connection) or die(mysql_error());
                    }else{
                        $querytest = "UPDATE `encodage_answer` SET Answer = " . $Answer . " WHERE ID = " . $AnswerExists;
                        $insert = mysql_query($querytest, $connection) or die(mysql_error());
                    }
                }
            }

function answer_exists($Question_ID, $encodage_ID, $Extra){
        global $connection;
        $trfa = false;
        echo $Question_ID . " - " . $encodage_ID . "<br />";
        if($Extra <> ""){
            $query = "SELECT * 
                FROM encodage_answer
                WHERE encodage_ID = {$encodage_ID} AND encodage_question_ID = {$Question_ID} AND Extra = {$Extra}";
        }else{
            $query = "SELECT * 
                FROM encodage_answer
                WHERE encodage_ID = {$encodage_ID} AND encodage_question_ID = {$Question_ID}";
        }
Run Code Online (Sandbox Code Playgroud)

Can*_*ice 6

试着把单引号括起来geir.通过不引用要将列设置为的字符串,SQL后端认为您要将Answer列的值设置为列的值geir.由于geir表中不存在该列,因此会引发错误.

编辑:我怀疑PHPMyAdmin有一些SQL语句过滤来捕获这样的情况,并自动为你输入字符串.