php - 使用绑定(bind)变量的 SELECT 查询示例

标签 php mysqli

我试图将输入参数绑定(bind)到我的 SELECT 查询中,然后获取结果行,但 MySQLi 似乎与我习惯的其他 API 不同,我在 PHP 手册中迷失了方向。

以下方法正确吗?

$sql = 'SELECT product_id, product_name, area_id
    FROM product
    WHERE product_id = ?';
$stmt = $myMySQLi->prepare($sql);
if(!$stmt){
    throw new Exception('Prepare error');
}
if( !@$stmt->bind_param('i', $product_id) ){
    throw new Exception('Bind error');
}
if( !$stmt->execute() ){
    throw new Exception('Execute error');
}

如果是这样,我如何将行提取到关联数组中?如果我把事情搞得太复杂了,我该怎么办?

最佳答案

mysqli 不提供将结果提取到数组中的方法。如果您想要此功能,您有两个选择:

  1. 扩展 mysqli 并编写 fetchAll 方法
  2. 从现在开始使用 pdo

提示:使用pdo

只是想让你的生活更轻松。

read this

关于php - 使用绑定(bind)变量的 SELECT 查询示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2739182/

相关文章:

php - 使用 php 无法进行搜索

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - 从 PHP 文件生成并使用 XSLT 翻译的 XML 获取 PDF 输出

php - Laravel Eloquent 和复杂的关系

php - foreach 循环中的 pdo fetchAll

php - UNION SELECTs - 循环?或单一查询?

PHP MySQLi 插入获取最后一列值加 1

php - mysqli 执行生成错误查询

php - Facebook Like 按钮的 AJAX 监听器

php - 如何在 php 中使用 curl 将访问 key 作为 HTTP header 传递