在我的搜索记录的代码中,我在while块中收到错误,它没有检索记录。我没有使用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();
}
}
?>
答案 0 :(得分:0)
在你进入while循环之前,我建议你检查一下是否有任何数据。尝试使用第一个输出从查询中获得的任何结果;
的var_dump($ RS-&GT; fetch_all());