在pdo中绑定多个值

有没有一种简单的方法就可以在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中绑定多个值?


撒科打诨
浏览 492回答 3
3回答

红糖糍粑

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

如果要基于类型(字符串,整数等)进行绑定,则否。如果可以将所有内容都绑定为字符串,则可以:$stmt = $db->prepare("...");$stmt->execute(array(    'foo' => 'bar',    'something' => 'else',    'third' => 'thing',));
打开App,查看更多内容
随时随地看视频慕课网APP