【发布时间】:2015-12-07 08:00:41
【问题描述】:
我无法让任何准备好的语句为我工作。我正在使用 php 和 mysqli 连接到 mysql 数据库。在不使用占位符进行查询的情况下建立连接和提取数据没有问题,但是当我使用占位符并尝试绑定值时,我会遇到问题。任何帮助都会很棒!我还在多个域上尝试过此代码,其中一个域使用最新的语言。
DB 是一个名为 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!";
}
【问题讨论】:
-
如果 id 来自 Type Integer ?所以在 $stmt = $conn->bind_param('i' $id); 中使用 'i';
-
当我尝试过时它仍然无法正常工作
-
ups: $stmt = execute(); -> $stmt->执行();
-
您在
bind_param调用中缺少逗号,但这一定是复制错误,否则您的代码根本无法运行。
标签: php mysql oop mysqli prepared-statement