私はこのコードを使用していると私は不満を超えてよ:PDOを使用してNULL値を挿入するにはどうすればよいですか?
try {
$dbh = new PDO('mysql:dbname=' . DB . ';host=' . HOST, USER, PASS);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
}
catch(PDOException $e)
{
...
}
$stmt = $dbh->prepare('INSERT INTO table(v1, v2, ...) VALUES(:v1, :v2, ...)');
$stmt->bindParam(':v1', PDO::PARAM_NULL); // --> Here's the problem
PDO::PARAM_NULL, null, '',
それらのすべてはこのエラーを失敗し、スロー:
Fatal error: Cannot pass parameter 2 by reference in /opt/...
私はこれらの2つの違いはわかりませんが、いくつか調査します。おかげさまで、あなたの答えも素晴らしかったです。 – Nacho
これは私より良い答えかもしれないと思います(実際に動作する場合) –
PHP 5.3.8 + Mysqlに関する私のテストは、2つの間で生成されたクエリに違いがないことを示しています。重要な部分は、渡された値がNULLであり、 ''または '0'ではないようです。 – Odin