PDO参数:
$cto=new PDO("mysql:host=$servername;dbname=$dbname",$username,$password);
与数据库交互
$csql=$cto->prepare("INSERT INTO `users`(`username`, `password`, `class`, `is_on`, `time_log`, `IP`)
VALUES (:name,:pass,:class,0,0,'0')");
$pr=[
':name' => $_POST['username'],
":pass" => $_POST['password'],
":class" => $_POST["class"],
];
$csql->execute($pr);
$cto=null;
我的问题是,我当前在执行中使用数组$ pr,请问我是否可以使用bindParam传递此数组
$csql->bindParam($pr);
$csql->exec();
谢谢您的时间。
是,每个bindParam()必须执行一行,如果要像在数组中一样绑定多个值,请在excute()中尝试它
您可以通过这种方式在单行中使用bindParam():
$csql=$cto->prepare("INSERT INTO `users`(`username`, `password`, `class`, `is_on`, `time_log`, `IP`)
VALUES (:name,:pass,:class,0,0,'0')");
//Looping for all values into array...
foreach ($pr as $key => &$val) {
$csql->bindParam($key, $val);
}
$csql->execute();
希望这对您有帮助!