0
我有这样的代码在目的在数据库中进行搜索:mysqli的编制声明绑定结果和循环
$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()
或仅有1时bind_result()
外循环内bind_result? - 我的代码有问题吗?它总是给一个空行,结果与任何$键和一个致命的错误:
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');
请帮助我。
这里只有3?在你的准备中,但是你要通过4个增值税。也是$ key是一个字符串,因此即使在准备好的语句中,我也应该将其包装在'sql语句内'(尽管不是100%), – Dave 2013-03-15 11:22:18