php - 为什么这个mysqli准备好的语句不起作用?

标签 php mysql oop mysqli prepared-statement

我无法获得任何准备好的陈述来为我工作。我正在使用php和mysqli连接到mysql数据库。我在不使用占位符进行查询的情况下进行连接和提取数据没有问题,但是当我使用占位符并尝试绑定值时,出现问题。任何帮助将是巨大的!我还在多个域上尝试了此代码,其中一个域使用的是最新语言。

该数据库是一个称为resourceTable的表,并作为id,first_name和last_name列

我现在收到此错误

致命错误:在第17行的/home/marshy/public_html/index.php中调用未定义的方法mysqli :: bind_param()

这是我的代码

$db_host = "*****************";
$db_user = "************";
$db_pass = "************";
$db_name = "************";

$conn = new mysqli($db_host,$db_user,$db_pass,$db_name);

$id = 2;

$sql = "SELECT first_name FROM resourceTable WHERE id =?";

$stmt = $conn->prepare($sql);

$stmt = $conn->bind_param('i', $id);

$stmt = $stmt->execute();

$stmt->bind_result($first_name);

if($stmt->fetch()){
    echo "First Name: " . $first_name;
}else{
    echo "We Have Issues!";
}

最佳答案

MySQLi没有名为bind_param()的方法。

替换为:

$stmt = $conn->bind_param('i', $id);


有了这个:

$stmt->bind_param('i', $id);

关于php - 为什么这个mysqli准备好的语句不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32511928/

相关文章:

php - 在 foreach 循环中写入数据库链接失败

c# - 为什么我不能用参数调用基本构造函数方法?

javascript - 在通过post请求调用的文件中执行javascript

php - Magento 2 管理网格中的商店/网站栏 - 自定义模块

php - 文件名 C :\xampp\tmp\php4632. tmp 在使用 codeigniter 上传数据 excel 到 mysql 时不可读

php - 请在启用 ZTS 的 Mac OS X 上重新编译 PHP

MySQL关系问题

PHP从表中获取所有结果,不是一遍又一遍地获取相同的ID吗?

javascript - 精简 onclicks 代码的最佳方法

php - 构造父类时设置对象的子类(动态子类)