0

我有这段代码是为了在数据库中搜索:

$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()在循环外绑定 1 次?
  • 我的代码有问题吗?它总是给出带有任何 $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');

请帮帮我。

4

1 回答 1

0
  • 我必须在 $result->fetch() 内绑定_result 还是在循环外只绑定 1 次 bind_result() ?

您必须bind_result在循环外使用一次

  • 我的代码有问题吗?它总是给出带有任何 $key 和致命错误的空行结果:“致命错误:在第 30 行对 D:\xampp\htdocs\baiTapLon\showPage.php 中的非对象调用成员函数 format()”

您不能对任何变量使用格式,像这样使用它

$date1 = new DateTime($date);
$stuDoB= $date1->format('d/m/Y');
于 2013-03-15T11:14:27.453 回答