0

我再次发布此信息,因为我无法让某人帮助我。我的 jquery 自动完成功能在 mysql 上运行良好,但是我尝试将其更改为 mysqli 准备好的语句,但这不起作用。有人可以指出我出了什么问题吗?

MySQL:

 <?php
 mysql_connect("localhost","root","");
 mysql_select_db("database");

 $term=$_GET["term"];

 $query=mysql_query("SELECT * FROM products1 where title like '%".$term."%' order by id ");
 $json=array();

    while($student=mysql_fetch_array($query)){
         $json[]=array(
                    'value'=> $student["title"],
                    'label'=>$student["title"]
                        );
    }

 echo json_encode($json);

?> 

我用 MySQLi 准备的语句尝试了什么:

<?php
$mydb = new mysqli('localhost', 'root', '', 'database');
$q = '%'.$_POST['term'].'%';
$stmt = $mydb->prepare(" SELECT * from products1 where title LIKE ? ");
echo $mydb->error;
$stmt->bind_param('s', $q);
$stmt->execute();
?>
<?php
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
$json[]=array(
            'value'=> $student["title"],
            'label'=>$student["title"]
                             );


}
echo json_encode($json);

?>
4

1 回答 1

0

更改这些行

'value'=> $student["title"],
            'label'=>$student["title"]

'value'=> $row["title"],
            'label'=>$row["title"]

你应该通过

您正在调用 $student ,而在 $row 中获取

于 2013-09-14T05:16:51.270 回答