Php 如何用非变量绑定bind_参数
我有一个功能,可以使准备好的sql查询变得容易 下面是函数Php 如何用非变量绑定bind_参数,php,mysqli,Php,Mysqli,我有一个功能,可以使准备好的sql查询变得容易 下面是函数 function preparedConnection($stmt,$param){ $dbUsername= 'root'; $dbPassword=''; $dbip = 'localhost'; $db = '129393'; $conn = new mysqli($dbip, $dbUsername, $dbPassword, $db); if ($conn->c
function preparedConnection($stmt,$param){
$dbUsername= 'root';
$dbPassword='';
$dbip = 'localhost';
$db = '129393';
$conn = new mysqli($dbip, $dbUsername, $dbPassword, $db);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo $stmt."<br>";
$stmt_db = $conn->prepare($stmt);
echo $param;
$stmt_db->bind_param($param);
$stmt_db->execute();
$stmt_db->close();
$conn->close();
exit();
}
但是我不接受字符串形式的VAIABLE eny help?您需要将每个参数分别传递给
bind_param()
一种可能的解决方案比硬编码更灵活,可以使用:传递一个包含所有单个值的数组,然后在需要的地方解包:
$param = [
'iissiii',
$task_id,
$login_id,
// etc.
];
在你的职能中:
$stmt_db->bind_param(...$param);
您在这里使用
$param
所做的尝试根本不起作用。您不能在一个字符串中传递多个参数..而且没有针对这一点的破解方法?或者将$param
设置为数组,并使用类似于调用bind_param;或者使用PDO,您可以将数组作为参数传入
$stmt_db->bind_param(...$param);