使用PDO::prepare()和PDOStatement::excute()两个方法
<?php
try{
$dbh = new PDO('mysql:dbname=testdb;host=localhost', 'mysql_user', 'mysql_pwd');
}catch(PDOException $e){
echo '数据库连接失败:'.$e->getMessage();
exit;
}
$query = "INSERT INTO contactInfo (name, address, phone) VALUES (?, ?, ?)";
$stmt = $dbh->prepare($query); //调用PDO对象中的prepare()方法准备查询
$stmt->bindParam(1, $name); //将变量$name绑定到查询中的第一个问号参数中
$stmt->bindParam(2, $address); //将变量$address绑定到查询的第二个问号参数中
$stmt->bindParam(3, $phone); //将变量$phone绑定到查询的第三个问号参数中
$name = "赵某某"; //声明一个参数变量$name
$address = "海淀区中关村"; //声明一个参数变量$address
$phone = "15801688348"; //声明一个参数变量$phone
$stmt->execute(); //执行参数被绑定值后的准备语句
$name = "孙某某"; //为变量$name重新赋值
$address = "宣武区"; //为变量$address重新赋值
$phone = "15801688698"; //为变量$phone重新赋值
$stmt->execute(); //再次执行参数被绑定值后的准备语句,插入第二条语句?>
<?php
...
$query = "INSERT INTO contactInfo (name, address, phone) VALUES (:name, :address, :phone)";
//调用PDO对象中的prepare()方法准备查询,使用命名参数
$stmt = $dbh->prepare($query);
//传递一个数组为预处理查询中的命名参数绑定值,并执行一次。
$stmt->execute(array(":name"=>"赵某某",":address"=>"海淀区", ":phone"=>"15801688348"));
//再次传递一个数组为预处理查询中的命名参数绑定值,并执行第二次插入数据。
$stmt->execute(array(":name"=>"孙某某",":address"=>"宣武区", ":phone"=>"15801688698"));
?>
<?php
...
$query = "INSERT INTO contactInfo (name, address, phone) VALUES (?, ?, ?)";
$stmt = $dbh->prepare($query);
//传递一个数组为预处理查询中的问号参数绑定值,并执行一次。
$stmt->execute(array("赵某某", "海淀区", "15801688348"));
//再次传递一个数组为预处理查询中的问号参数绑定值,并执行第二次插入数据。
$stmt->execute(array("孙某某", "宣武区", "15801688698"));
?>
|