通过PHP运行时MYSQL错误消息,但通过DQ查询运行正常

通过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();