MySQL テーブルの詳細を更新するための php スクリプトがあります。すべて正常に機能しましたが、db 接続方法を PDO に変更しました。
$pdo = new PDO('mysql:host=localhost;dbname=****', '****', '*****');
これに対応するためにスクリプトにさまざまな変更を加えたので、引き続き機能します。失敗する唯一の場所は、mysql テーブルが更新された直後です。次のエラーが表示されます。
致命的なエラー: メッセージ 'SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 を含む例外 'PDOException' がキャッチされません: SQL 構文にエラーがあります。/home3/danville/public_html/test2/index.php:29 スタック トレース: #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 インクルードを使用してデータベースに接続します。エラーにもかかわらず、更新は有効になります。