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

null許容列に実際のNULL値を挿入するにはどうすればよいですか?

    プリペアドステートメントに切り替えてみてください(ボーナスとしてSQLインジェクションの可能性が低くなります)。

    function save($gmt, $name, $address, $phone, $remark)
    {
        if(!isset($phone) || empty($phone)) { $phone = null; }
        if(!isset($remark) || empty($remark) { $remark = null; }
    
        $db = new PDO(...);
    
        $stmt = $db->prepare("INSERT INTO `user` (`gmt`, `name`, `address`, `phone`, `remark`) VALUES (:gmt, :name, :address, :phone, :remark)");
        $stmt->bindValue("gmt", $gmt, PDO::PARAM_STR);
        $stmt->bindValue("name", $name, PDO::PARAM_STR);
        $stmt->bindValue("address", $address, PDO::PARAM_STR);
        $stmt->bindValue("phone", $phone, PDO::PARAM_STR);
        $stmt->bindValue("remark", $remark, PDO::PARAM_STR);
        $stmt->execute();
    }
    

    これはnullを処理します MySQLの値は正しく



    1. MariaDBでのFLOOR()のしくみ

    2. 2Oracleの日付から月を返す関数

    3. アクティブな接続がある場合にPostgreSQLデータベースを削除するにはどうすればよいですか?

    4. すべてのMySqlテーブルのCREATEステートメントを生成します