-1
$sql = $pdo->prepare("INSERT INTO test(name,city)VALUES(:vary,'china')");
$sql->bindParam('vary',$vary, PDO::PARAM_STR);
$vary=1234;
$sql->execute();
這應該給錯誤,因爲我沒有使用字符串,對於:vary
參數。但這工作正常,並在表test
中插入一行。有人可以解釋爲什麼沒有錯誤,我發現同樣的問題上stackoverflow PHP PDO::bindParam() data types.. how does it work?但我仍然困惑,有人可以請更好解釋..PDO :: PARAM_STR和PDO :: PARAM_INT不會給出錯誤
*「不給錯誤」* - 你在檢查他們嗎? http://php.net/manual/en/pdo.error-handling.php --- http://php.net/manual/en/function.error-reporting.php –
@ Fred-ii- IT插入一個排在表中,所以它工作正常 – beginner
列的類型是什麼?如果它是varchar,那麼它不會拋出錯誤,因爲'$ vary'不包含字符串字符。如果你的專欄是'int',那麼這將是一個不同的故事。 –