« イラレ→fireworks | メイン | $_POST $_GETデータは全部string型 »

2016年11月16日

PDO::PARAM_STRは値を文字列に変換
PDO::PARAM_INTはboolをintに変換(他は何もしない)
PDO::PARAM_BOOLはintをboolに変換


$id = true;

$sql = "insert into unko ("
	."id"
	.") values ("
	." :id"
	.")";

$sth = $DB->pdo->prepare($sql);
$sth->bindValue(":id", $id, PDO::PARAM_INT);

これは1として処理されるが



$id = "100m";

$sql = "insert into unko ("
	."id"
	.") values ("
	." :id"
	.")";

$sth = $DB->pdo->prepare($sql);
$sth->bindValue(":id", $id, PDO::PARAM_INT);

これは"100m"として処理されるのでint型にぶっこむとエラーになる

なんとなく PDO::PARAM_INT は (int)$id と勝手にキャストしてくれそうだが、してくれない。


投稿者 muuming : 2016年11月16日 11:10