php - 如何使用准备好的语句删除列?

标签 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();

但出现此错误:

Call to a member function bind_param() on boolean

最佳答案

如文档中所述:

mysqli_prepare() returns a statement object or FALSE if an error occurred.

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

这可能是导致您出错的原因。

此外,您可以通过调用以下命令查看实际错误是什么:

$mysqli->error

之后。

关于php - 如何使用准备好的语句删除列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41843645/

相关文章:

mysql - 比较字符串长度相等

mysql - 使用 MySQL,为什么 Hibernate/JPA 不为我创建外键约束?

php - 复制 Facebook 的 "Like"函数

c++ - 微软 SQL 服务器 : Access a local temporary table in a prepared statement

php - 如何在 Laravel 5 中包含外部 CSS 和 JS 文件

javascript - 使用 PDO MySQL 查询将字符串传递给 javascript

c# - 使用 SQL 准备语句在 C# 中绑定(bind)结果

java - 使用 JDBC setString() 在 Oracle 数据库中存储 CLOB 数据类型是否安全?

php - MySQL 查询有时运行缓慢,有时运行很快

php - 如何使用 PHP PDO 解析 MySQL 数据库中的对象数据?