通过PHP运行时MYSQL错误消息,但通过DQ查询运行正常
I'm trying to figure out why the PHP code below gives me this error:
There was an error running the query
[You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query2' at line 1]
If I run that query straight from MYSQL it runs no problem....
Please help, I've been staring at this code for the past 40 minutes...
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$query2 = ("UPDATE phpbb_users SET user_password='$hashPW' WHERE user_id='$id' AND username='$username';");
if(!$result = $db->query(query2)){
die('There was an error running the query [' . $db->error . ']');
}
$mysqli->close();
我正在试图弄清楚为什么下面的PHP代码会给我这个错误: p> \ n
运行查询时出错 p>
[SQL语法中有错误; 检查 对应于您的MySQL服务器版本的手册,以获得正确的语法,以便在第1行的'query2'附近使用 p> blockquote>
如果我运行该查询 直接从MYSQL运行没有问题....
请帮助,我在过去的40分钟内一直盯着这段代码... p>if( $ db-> connect_errno> 0){ die('无法连接到数据库['。$ db-> connect_error。']'); } $ query2 =(“UPDATE phpbb_users SET user_password ='$ hashPW'WHERE user_id ='$ id'AND username ='$ username';“); if(!$ result = $ db-> query(query2)){ die(' 运行查询时出错['。$ db->错误。']'); } $ mysqli-> close(); code> pre> DIV>
Change
if(!$result = $db->query(query2)){
to
if(!$result = $db->query($query2)){
^
$
is missing in front of $query2
variable
On a side note: your code in its current state is prone to sql-injections. Please consider using prepared statements.
You are missing a $
on the one line...
if ($db->connect_errno > 0) {
die('Unable to connect to database [' . $db->connect_error . ']');
}
$query2 = ("UPDATE phpbb_users SET user_password='$hashPW' WHERE user_id='$id' AND username='$username';");
if (!$result = $db->query($query2)) {
die('There was an error running the query [' . $db->error . ']');
}
$mysqli->close();