PHP 7.1和PHP 7.2中的PDO :: PARAM_INT行为

时间:2019-01-29 04:20:10

标签: php pdo php-7.2

当使用PDO :: PARAM_INT传递字符串时,PHP 7.2中的行为似乎有所变化。在7.1版中,更新后的值和传递的字符串相同,在PHP 7.2中,更新后的值为“ 3”(请参见下面的示例)。

我当然知道使用PDO :: PARAM_INT传递字符串是错误的,但是我想知道为什么在PHP更新日志中找不到任何内容,为什么没有抛出异常或警告。

有人知道这是否是理想的行为吗?

$sql = "UPDATE test SET name = :name WHERE id = 1";

$update = $db->prepare($sql);   
$update->bindValue(':name', '3hgsf5-458752shUGVZCF', PDO::PARAM_INT);

$update->execute();