有没有一种简单的方法就可以在PDO中绑定多个值而无需重新分配?看下面的代码:$result_set = $pdo->prepare("INSERT INTO `users` (`username`, `password`, `first_name`, `last_name`) VALUES (:username, :password, :first_name, :last_name)");$result_set->bindValue(':username', '~user');$result_set->bindValue(':password', '~pass');$result_set->bindValue(':first_name', '~John');$result_set->bindValue(':last_name', '~Doe');$result_set->execute();在这里,我以重复的方式将值绑定了4次。那么,有没有一种简单的方法可以在PDO中绑定多个值?
3 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
execute()只要您可以将值视为PDO::PARAM_STR(字符串),就可以始终将其绑定在参数中。
$result_set = $pdo->prepare("INSERT INTO `users` (`username`, `password`, `first_name`, `last_name`) VALUES (:username, :password, :first_name, :last_name)");
$result_set->execute(array(
':username' => '~user',
':password' => '~pass',
':first_name' => '~John',
':last_name' => '~Doe'
));
您可以像任何数组一样使用传递的数组:
$user = "Nile";
$pdo->execute(array(":user" => $user));
慕哥6287543
TA贡献1831条经验 获得超10个赞
如果要基于类型(字符串,整数等)进行绑定,则否。如果可以将所有内容都绑定为字符串,则可以:
$stmt = $db->prepare("...");
$stmt->execute(array(
'foo' => 'bar',
'something' => 'else',
'third' => 'thing',
));
- 3 回答
- 0 关注
- 491 浏览
添加回答
举报
0/150
提交
取消