Php 如何用非变量绑定bind_参数

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

我有一个功能,可以使准备好的sql查询变得容易

下面是函数

    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);