示例:面向过程方式
<?php
/* 尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”) */
$link = mysqli_connect("localhost", "root", "", "demo");
//检查连接
if($link === false){
die("错误:无法连接。 " . mysqli_connect_error());
//使用预处理语句
$sql = "INSERT INTO persons (first_name, last_name, email) VALUES (?, ?, ?)";
if($stmt = mysqli_prepare($link, $sql)){
//将变量绑定到准备好的语句作为参数
mysqli_stmt_bind_param($stmt, "sss", $first_name, $last_name, $email);
//设定参数
$first_name = $_REQUEST['first_name'];
$last_name = $_REQUEST['last_name'];
$email = $_REQUEST['email'];
//尝试执行预处理语句
if(mysqli_stmt_execute($stmt)){
echo "记录插入成功。";
} else{
echo "错误:无法执行查询: $sql. " . mysqli_error($link);
} else{
echo "错误:无法执行查询: $sql. " . mysqli_error($link);
// 关闭语句
mysqli_stmt_close($stmt);
//关闭连接
mysqli_close($link);
?>
示例:面向对象方式
<?php
/* 尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”) */
$mysqli = new mysqli("localhost", "root", "", "demo");
//检查连接
if($mysqli === false){
die("错误:无法连接。 " . $mysqli->connect_error);
//使用预处理语句
$sql = "INSERT INTO persons (first_name, last_name, email) VALUES (?, ?, ?)";
if($stmt = $mysqli->prepare($sql)){
//将变量作为参数绑定到预处理语句
$stmt->bind_param("sss", $first_name, $last_name, $email);
//设置参数
$first_name = $_REQUEST['first_name'];
$last_name = $_REQUEST['last_name'];
$email = $_REQUEST['email'];
//尝试执行预处理语句
if($stmt->execute()){
echo "记录插入成功。";
} else{
echo "错误:无法执行查询: $sql. " . $mysqli->error;
} else{
echo "错误:无法执行查询: $sql. " . $mysqli->error;
//关闭语句
$stmt->close();
//关闭连接
$mysqli->close();
?>
示例:PDO方式
<?php
/* 尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”) */
$pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
//将PDO错误模式设置为异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("错误:无法连接。 " . $e->getMessage());
//尝试执行插入查询
//使用预处理语句
$sql = "INSERT INTO persons (first_name, last_name, email) VALUES (:first_name, :last_name, :email)";
$stmt = $pdo->prepare($sql);
// 将参数绑定到语句
$stmt->bindParam(':first_name', $_REQUEST['first_name'], PDO::PARAM_STR);
$stmt->bindParam(':last_name', $_REQUEST['last_name'], PDO::PARAM_STR);
$stmt->bindParam(':email', $_REQUEST['email'], PDO::PARAM_STR);
// 执行预处理语句
$stmt->execute();
echo "记录插入成功。";
} catch(PDOException $e){
die("错误:无法准备/执行查询 $sql. " . $e->getMessage());
//关闭语句
unset($stmt);
//关闭连接
unset($pdo);
?>