sql >> データベース >  >> RDS >> Mysql

phpスクリプトをPDOに変更すると、MySQL更新クエリ中に構文エラーが発生します

    PDOに切り替える場合は、プリペアドステートメントとパラメーターバインディングを利用することもできます。それは実際にあなたのクエリを多くします SQLインジェクションからより安全になり、コードが読みやすくなります。 クエリビルダー アプローチは物事を少し複雑にしますが、それでも可能です。また、開発中にエラー報告を有効にすることを強くお勧めします。例

    error_reporting(E_ALL);
    ini_set('display_errors', 'On');
    
    $upd = array('name = :name', 'type = :type');
    $values = array(
        'name' => $name,
        'type' => $type,
        'ride_id' => $ride_id,
        'park_id' => $park_id
    );
    
    if (!empty($topride)) {
        $upd[] = 'top_ride = :topride'; // :topride is the named parameter placeholder
        $values['topride'] = $topride; // the array key matches the named placeholder above
    }
    if (!empty($info)) {
        $upd[] = 'info = :info';
        $values['info'] = $info;
    }
    // and so on
    
    $query = sprintf('UPDATE tpf_rides SET %s WHERE ride_id = :ride_id AND park_id = :park_id',
        implode(', ', $upd));
    $stmt = $pdo->prepare($query);
    $stmt->execute($values);
    



    1. ボタンをクリックした後、モーダルポップアップウィンドウに選択したIDに基づくデータを表示するphp mysql

    2. 絵文字を含むテキストを検索するにはどうすればよいですか?

    3. VIsual StudioExpress2013にMySQLデータソースを追加する

    4. ORDER BY句を解決する方法がSELECTリストにないため、MySQL5.7でSELECTDISTINCTとORDERBYが発生しました