Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO::PARAM_STR和PDO::PARAM_INT未给出错误_Php_Oop - Fatal编程技术网

Php PDO::PARAM_STR和PDO::PARAM_INT未给出错误

Php PDO::PARAM_STR和PDO::PARAM_INT未给出错误,php,oop,Php,Oop,这应该会产生错误,因为我没有为:vary参数使用字符串。但这很好,在表test中插入一行。有人能解释一下为什么没有错误吗?我在stackoverflow上发现了相同的问题,但我仍然感到困惑,有人能解释得更好吗?这不会因为PHP的类型转换而给你带来任何错误。换句话说:当您尝试将整数1234用作字符串时,PHP会将其以静默方式转换为字符串1234 请阅读PHP手册中有关的详细信息。“不给出错误”-您正在检查它们吗?--@Fred ii-它在表中插入一行,因此工作正常。列的类型是什么?如果是varch

这应该会产生错误,因为我没有为
:vary
参数使用字符串。但这很好,在表
test
中插入一行。有人能解释一下为什么没有错误吗?我在stackoverflow上发现了相同的问题,但我仍然感到困惑,有人能解释得更好吗?

这不会因为PHP的类型转换而给你带来任何错误。换句话说:当您尝试将整数
1234
用作字符串时,PHP会将其以静默方式转换为字符串
1234


请阅读PHP手册中有关的详细信息。

“不给出错误”-您正在检查它们吗?--@Fred ii-它在表中插入一行,因此工作正常。列的类型是什么?如果是varchar,则不会抛出错误,因为
$vary
不包含字符串。如果您的列是一个
int
,那么情况就不同了。@Fred ii-我将列类型更改为int,仍然可以正常工作。我认为它们没有使用PDO::PARAM_int
$sql = $pdo->prepare("INSERT INTO test(name,city)VALUES(:vary,'china')");
$sql->bindParam('vary',$vary, PDO::PARAM_STR);
$vary=1234;
$sql->execute();