首页 > PHP教程 > php开发知识文章

php mysql参数绑定bind_param()函数的用法

本文主要介绍了php mysql参数绑定bind_param()函数的用法。分享给大家供大家参考,欢迎大家的学习。

函数说明

public function bindParam ($parameter, &$variable, $data_type = PDO::PARAM_STR, $length = null, $driver_options = null) {}

绑定一个PHP变量到用作预处理的SQL语句中的对应命名占位符或问号占位符。

该函数的变量作为引用被绑定,在 PDOStatement::execute() 被调用的时候才取其值。

bind_param("sss", $a, $a1, $a2)

该函数绑定了 SQL 的参数,且告诉数据库参数的值。 "sss" 参数列处理其余参数的数据类型。s 字符表示数据库该参数为字符串。

参数有四种类型

i - integer(整型)
d - double(双精度浮点型)
s - string(字符串)
b - BLOB(布尔值)

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

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

上面的$a,$a1, $a2传的是引用,如果将参数直接写成字符串,运行之后弹出:

php mysql参数绑定bind_param()函数的用法

如下:

$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "php_user";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connect failed:" . $conn->connect_error);
}
$sql = "INSERT INTO user (user_first,user_last,age) VALUES (?,?,?)";
$stmt = $conn->prepare($sql);
//$stmt->bind_param("sss", "liu", "aa", 12);第二个及以后的参数需要传变量
$stmt->bind_param("sss", $user_first, $user_last, $age);
$user_first = "liu";
$user_last = "aa";
$age = 12;
$stmt->execute();
echo "News records created successfully!";
$stmt->close();
$conn->close();

以上就是本文php mysql参数绑定bind_param()函数的用法的全部内容,希望本文所述对大家PHP程序设计有所帮助。

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。