無効なタイプのパラメーターにバインドするときにエラーが発生しないのはなぜですか?例えば:
$mysqli = new mysqli(HOST, USERNAME, PASSWORD, SCHEMA);
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}
$stmt = $mysqli->prepare("update app_site_group set name_eng=?, name_fra=? where app_site_group_id=?");
$one = "one";
$two = "two";
$three = "a";
$stmt->bind_param('ssi',$one,$two,$three);
$stmt->execute();
3番目のパラメーターは、整数が予期されたときに文字列として渡されます。エラーはスローされません(0行が影響を受けることを除いて)。