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

mysqliを使用してSQLインジェクションを防ぐには、NULLまたはCURRENT_DATEを設定する方法は?

    デフォルトのパラメータが必要な場合は、データベーススキーマでデフォルトを指定できます。
    current_dateの場合、データ型をtimestampに設定する必要があります。 dateではありません 、そうすれば、MySQLは自動的にnow()を挿入します データが欠落している場合はフィールドに入力します。

    またはトリガーを作成します

    DELIMITER $$
    
    CREATE TRIGGER BEFORE INSERT ON FOR EACH ROW
    BEGIN
      IF new.mydate IS NULL THEN SET new.mydate = NOW();
    END $$
    
    DELIMITER ;
    

    nullを渡したい場合 varをnullに設定するだけです:

    $var = null;
    

    リンク
    http://dev.mysql.com /doc/refman/5.1/en/alter-table.html
    http://dev.mysql.com /doc/refman/5.1/en/create-trigger.html



    1. executemany()で行を挿入するときの無効なパラメータータイプ(numpy.int64)

    2. 異なるデバイス間でセッションを処理する方法は?

    3. バックアップ前のリカバリ要件

    4. PDOは、(特定のテーブル内の)データの行の削除を拒否します