2

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 インクルードを使用してデータベースに接続します。エラーにもかかわらず、更新は有効になります。

4

1 に答える 1