查询产生语法错误

在PHP中运行这个MySQL查询会产生一个我无法解决的语法错误。

function queryTest(array $dataArray)
    $query = "Insert into users (email,fullName,password, accessLevel) values (($dataArray['formEmail']),($dataArray['formFullName']),($dataArray['formPassword']),($dataArray['formAccessLevel']))";                                                   

    if( $this->mysqli->real_query($query)) == FALSE
    {
        throw new exception ("failed");
    }  
}

错误:

解析错误:语法错误,意外的''(T_ENCAPSED_AND_WHITESPACE),预计标识符(T_STRING)或变量(T_VARIABLE)或编号(T_NUM_STRING)位于/home/comp3170-036/public_html/lab2/Registration.php在148行


您的INSERT查询似乎是错误的:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

您的查询中可能有错误,请检查您的最后一列名称。 空白不是直接允许的:

$query = "Insert into users (email,fullName,password, access level )


对于像这样的调试问题,在提交到数据库之前echovardump $query的内容。 这将向您显示提交给数据库的实际SQL文本。

看起来问题之一是值列表中的文字周围缺少单引号。 它也看起来像这个代码容易受到SQL注入

最佳做法是不要在SQL文本中包含数据值,而是使用带有绑定占位符的预 准备语句

链接地址: http://www.djcxy.com/p/69891.html

上一篇: Query yields syntax error

下一篇: PHP mail error: parse error on line 12