我有这个代码的目的是在数据库中搜索:
$key = '%'.$_GET['key'].'%';
$result= $db->prepare("SELECT * FROM information WHERE stuId LIKE ?
OR stuName LIKE ? LIMIT ?,10");
$result->bind_param('ssi',$key,$key,$startpage);
$result->execute();
$result->bind_result($stuId,$stuName,$date,$stuSex,$stuAdd);
while($result->fetch()) {
$stuDoB= $date->format('d/m/Y');
echo "<tr>
<td class='col1'>
<div>$stuId</div>
</td>
<td>
<div><a href='editStudent.php?stuId=$stuId'>" . htmlspecialchars($stuName) . "</a></div>
</td>
<td class='col3'>
<div>$stuDoB</div>
</td>
<td class='col4'>
<div>$stuSex</div>
</td>
<td class='col5'>
<div>" . htmlspecialchars($stuAdd) . "</div>
</td>
</tr>";
}
我试图学习准备好的语句,所以我从正常的方式改变到上面的代码你能告诉我吗?
- 我是否必须在
$result->fetch()
或循环外的bind_result()
中使用bind_result ? - 我的代码有问题吗?它总是给出一个空行结果与任何$key和一个致命错误:
Fatal error: Call to a member function format() on a non-object in D:'xampp'htdocs'baiTapLon'showPage.php on line 30
第30行是$stuDoB= $date->format('d/m/Y');
请帮帮我。
- 我是否必须在$result->fetch()或只是1时间bind_result()外的循环?
你必须使用bind_result
一次意味着在循环之外
- 我的代码有问题吗?它总是给出一个空行结果与任何$key和一个致命错误:"致命错误:在D:'xampp'htdocs'baiTapLon'showPage.php第30行中对非对象调用成员函数format() "
你不能对任何变量使用format 像这样使用
$date1 = new DateTime($date);
$stuDoB= $date1->format('d/m/Y');