如何使用预准备语句删除列?

时间:2017-01-25 04:54:26

标签: php mysql prepared-statement

有没有办法使用预准备语句从特定表中删除非主键列?
我试过这个

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

// prepare and bind
    $stmt = $conn->prepare("ALTER TABLE staff DROP COLUMN :col_name");
    $stmt->bind_param(":col_name", $column_name);

// set parameters and execute
    $column_name = "job_type1";
    $stmt->execute();

但是得到这个错误:

  

在布尔值

上调用成员函数bind_param()

1 个答案:

答案 0 :(得分:0)

如文件中所述:

  

mysqli_prepare()返回一个语句对象,如果发生错误,则返回FALSE。

因此,在继续之前,你应该检查返回的值是否为FALSE。

这可能是导致错误的原因。

此外,您可以通过调用来查看实际错误:

$mysqli->error

之后。