【发布时间】:2010-10-24 10:15:09
【问题描述】:
我想知道bindParam()(或bindValue())中的数据类型声明用于什么...
我的意思是,我认为如果我定义一个整数参数 (PDO::PARAM_INT),则该参数必须转换为整数,类似于
$delete->bindParam(1, $kill, PDO::PARAM_INT);
// should work like
$delete->bindParam(1, (int)$kill);
或者如果参数不是声明的类型,至少会抛出一个错误。但事实并非如此。
谷歌搜索,我在 php.net 存档中找到了:
大家好,
我目前正在研究 PDO。确切地 在 bindParam() 函数上。第三 参数 data_type 似乎在这里 强制值的类型?但 当我尝试时:
$sql = "INSERT INTO produit (idproduit, nom, marque) VALUES (NULL, :nom, :marque)"; $stmt = $dbh->prepare($sql); $nom = 'Testarossa'; $marque = 'Ferrari' ; $stmt->BindValue(':marque',$marque) ; $stmt->BindParam(':nom',$nom,PDO::PARAM_INT) ; $stmt->execute(); $nom = '250 GTO' ; $stmt->execute(); ?>我希望有一个 PHP 我的数据库中有错误或整数。 但在我的数据库中,我有:
22 Testarossa 法拉利 23 250 GTO 法拉利
这意味着如果我没有改变 是否有第三个参数。要么 也许我错过了什么。有人可以 告诉我更多?或者只是可以有人 告诉我在哪里可以找到信息 关于它。
问候,
赛勒斯
这正是我的情况。我的想法哪里出了问题?
【问题讨论】:
-
“我预计我的数据库中会出现 PHP 错误或整数。”我也是
标签: php types pdo prepared-statement