php - 使用 mysqli 准备好的语句在所有记录检索中出错

标签 php mysqli

在我搜索记录的代码中,我在 while block 中遇到错误,它没有检索记录。我没有使用 bind_result 因为要检索的列数是 45。 请帮助我,我错在哪里。

<?php 
/* ___Search & display record with MySQLi Prepared Statements ___*/

if(isset($_GET['search'])) {

$cname=$_GET['cname'];
$cname=preg_replace( '/\s+/','',$cname);
if($cname==""){
    unset($cname);
    $error="Plese enter the company name";
}
else {  
        require_once '../includes/mysqli_dbconnect.php';
        $cname = '%'.$cname.'%';
        $query1 = "SELECT * FROM company WHERE cname LIKE ? ORDER BY cname DESC";
        $stmt=$dbLink->prepare($query1);
        if($stmt===false){
            trigger_error('Query Failed'. $query1 . 'Error: ' . $dbLink->error, E_USER_ERROR);
        }
        $stmt->bind_param('s',$cname);
        $stmt->execute();
        $stmt->store_result();
        if($stmt->num_rows > 0 ){
            $rs=$stmt->get_result();
            while($row=$rs->fetch()){
                                  //here number of columns to show are 45.
                echo 'ID: '. $row['id']. '<br/>';
                echo 'Company: '. $row['cname']. '<br/>';
            }
        }else{
                echo 'No Record Found';
            } 
        $stmt->close(); 
        $dbLink->close();
      }
 }
 ?> 

最佳答案

在您进入 while 循环之前,我建议您检查是否确实获得了任何数据。首先尝试输出从查询中获得的任何结果;

var_dump($rs->fetch_all());

关于php - 使用 mysqli 准备好的语句在所有记录检索中出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21748167/

相关文章:

php - 如何在 Symfony 2.1 中显示查询

php - 一个 PHP 脚本带有两个 PDO 查询?

php - MySQL/PHP - 选择表 1 中的列等于表 2 中的列的所有行并创建 foreach 循环

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - 根据特定的 mysql 列对 JSON 输出进行分组

php - Mysql 真正的转义字符串不适用于 textarea 撇号在插入时出现语法错误

php - Mysql Select Query和IF语句不会返回任何结果

php - 通过字符串调用方法?

php - 在 1 个有 2 行的字段中仅选择 1 行

php - 无法用php删除数据库mysql