MS Access でクエリを実行すると、次のようなクエリを喜んで使用できます。
SELECT clients.* FROM clients WHERE active=True;
また
SELECT clients.* FROM clients WHERE active=-1;
だがしかし
SELECT clients.* FROM clients WHERE active=1;
さらに、PDO を使用してデータベースにクエリを実行したい場合、準備済みステートメントを使用できます。
$db->prepare('SELECT clients.* FROM clients WHERE active=:isactive;');
$db->bindValue(':isactive', True); //Does not work
$db->bindValue(':isactive', 1); //Does not work
$db->bindValue(':isactive', -1); //Does work
そのtrue
ため、単純なクエリを Access に送信するときに機能しますが、バインドのみ-1
または0
ブール値で機能する場合。
これはなぜですか、また、他の言語/データベースで通常いつを意味する-1
のはなぜですか?true
1
true