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

入力をエスケープするが、エスケープせずにデータベースに保存する方法

    addslashesは使用しないでください mysql_real_escape_stringのような適切なDB固有のエスケープ関数を使用します 。

    PDOを使用している場合、プリペアドステートメントを使用すると、バインディングプロセスの一部として変数がエスケープされます。この場合、あなたがする必要があるのは次のようなものだけです:

    $pdo = new PDO($dsn, $user, $name);
    $stmt = $pdo->prepare('INSERT INTO your_table (col1, col2,col3) VALUES (?, ?, ?)');
    $stmt->execute(array('value 1', 'value 2', 'value 3');
    

    または、読みやすさと再利用性を高めるために、名前付きパラメータを使用できます:

    $pdo = new PDO($dsn, $user, $name);
    $stmt = $pdo->prepare('INSERT INTO your_table (col1, col2,col3) VALUES (:col1, :col2, :col3)');
    $stmt->execute(array(':col1' =>'value 1', ':col2' =>'value 2', ':col3' =>'value 3');
    


    1. lat/lonテキスト列を「ポイント」タイプの列に移動する

    2. whileループで同じ行を確認し、それらを別のテーブルに配置します

    3. SQLServerのタイムスタンプ列を日時形式に変換する方法

    4. MySQLがInnoDBテーブルにコメントを追加するのはなぜですか?