2017-08-21 13 views
0

私はこのようなコードブロックを持っています。PDO整数のヌル値の問題

$a=''; 

$Query =$db->prepare("UPDATE TblUsers 
SET Age = :age 
WHERE 
IsActive=1 ") 
$Query->bindParam(":age",$a,PDO::PARAM_INT); 
$Query->execute(); 

このコードを実行すると、このエラーが発生します。

PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'Age' at row 1'

ただし、 ''を追加すると変数はnullになります。しかし、私はこのエラーが発生します。私の失敗はどこですか?あなたは以下のようなbindValueを使用する必要が

+0

は、スキーマと '$のA'ための意図した値の値を投稿してください。今、価値はありません。または、空白/ NULL値を許可します。 –

+0

'age'の値をnullにするには、' ''の代わりに 'null'を設定する必要があります。 –

+0

エラーはかなり明確です。年齢の文字列は空で、クエリは値intを期待します – Noob

答えて

1

: -

$Query =$db->prepare("UPDATE TblUsers 
SET Age = :age 
WHERE 
IsActive=1 ") 
$Query->bindValue(':age', $a, PDO::PARAM_INT); 
$Query->execute(); 

bindParamが参照するために、変数を取り、bindParamを呼び出した時に値を引っ張っていません。

Referecne: - How do I insert NULL values using PDO?