PHP MySQL 预处理语句 PHP代码


# 预处理语句用于执行多个相同的 SQL 语句,并且执行效率更高。
// 预处理及绑定
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $firstname, $lastname, $email);
 
// 设置参数并执行
$firstname = "John";
$lastname = "Doe";
$email = "john@example.com";
$stmt->execute();
 
$firstname = "Mary";
$lastname = "Moe";
$email = "mary@example.com";
$stmt->execute();
 
$firstname = "Julie";
$lastname = "Dooley";
$email = "julie@example.com";
$stmt->execute();
 
echo "新记录插入成功";
 
$stmt->close();
$conn->close();

我们使用了问号 (?),在此我们可以将问号替换为整型,字符串,双精度浮点型和布尔值。

 bind_param() 函数:

绑定了 SQL 的参数,且告诉数据库参数的值。 

"sss" 参数列处理其余参数的数据类型。s 字符告诉数据库该参数为字符串。

参数有以下四种类型:

i - integer(整型)

d - double(双精度浮点型)

s - string(字符串)

b - BLOB(binary large object:二进制大对象)

每个参数都需要指定类型。

通过告诉数据库参数的数据类型,可以降低 SQL 注入的风险。


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回