查询产生语法错误
在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 )
对于像这样的调试问题,在提交到数据库之前echo
或vardump
$query
的内容。 这将向您显示提交给数据库的实际SQL文本。
看起来问题之一是值列表中的文字周围缺少单引号。 它也看起来像这个代码容易受到SQL注入 。
最佳做法是不要在SQL文本中包含数据值,而是使用带有绑定占位符的预 准备语句 。
链接地址: http://www.djcxy.com/p/69891.html