我有一个 php 脚本来更新 MySQL 表中的详细信息。一切正常,但现在我已将 db 连接方法更改为 PDO:
$pdo = new PDO('mysql:host=localhost;dbname=****', '****', '*****');
我对脚本进行了各种更改以适应这一点,因此它继续工作,唯一失败的地方是在 mysql 表更新后的最后。我收到此错误:
致命错误:未捕获异常 'PDOException' 并带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 /home3/danville/public_html/test2/index.php:29 中的第 1 行的“和 park_id=31”附近使用正确的语法 堆栈跟踪:#0 /home3/ danville/public_html/test2/index.php(29): PDO->query('update tpf_ride...') #1 {main} 在第 29 行的 /home3/danville/public_html/test2/index.php 中抛出
这是导致错误的一段代码:
$query = "update tpf_rides set name='$name',type='$type'";
if($topride!=""){$query .= ",top_ride=$topride";}
if($info!=""){$query .= ",info='$info'";}
if($height!=""){$query .= ",height=$height";}
if($length!=""){$query .= ",length=$length";}
if($speed!=""){$query .= ",speed=$speed";}
if($inversions!=""){$query .= ",inversions=$inversions";}
$query .= " where ride_id=".$ride_id." and park_id=".$park_id;
$pdo->query($query);
}
第 29 行是 Notepad++ 上$pdo->query($query);
的,尽管错误消息似乎引用了上面的行$query .= " where ride_id=".$ride_id." and park_id=".$park_id;
有什么想法我需要改变以阻止错误吗?其他详细信息 - 我使用 require_once 包含连接到数据库。尽管出现错误,更新仍会生效。