gpt4 book ai didi

php - 准备好的语句mysqli不返回行

转载 作者:可可西里 更新时间:2023-11-01 00:34:21 24 4
gpt4 key购买 nike

我有一些带有准备好的语句的 php 代码。它是通过 javascript 中的 Ajax 调用的。我确定在帐户表中有一个名为 mark(无上限)的帐户,但是当我将 $_POST['query'] 设置为 m 调用它时,它发现 $stmt->num_rows===0 为真。看不出任何错误,就是不行!如您所知,它正在将内容回显到表格中。我在 phpMyAdmin 中尝试了这个查询:SELECT username FROM accounts WHERE username LIKE '%m%' 并且它工作正常。我创建这段代码是为了在 mysql 数据库中搜索用户名。如果您想知道,$conn 是包含文件中定义的有效 mysqli 对象。

<?php
require_once('./include.php');
$stmt=$conn->stmt_init();
$stmt->prepare('SELECT username FROM accounts WHERE username LIKE ?');
$compquery='%'.$_POST['query'].'%';
$stmt->bind_param('s',$compquery);
$stmt->execute();
echo '<tr><td>';
if($stmt->num_rows!==0){
$stmt->bind_result($name);
while($stmt->fetch()){
echo "$name</td></tr><tr><td>";
}
echo '</td></tr>';
}
else
echo 'No Results Found</td></tr>';

最佳答案

从评论延伸:

你必须使用 mysql_stmt::store_result()在你可以使用 mysqli_stmt::num_rows 之前:

$stmt=$conn->stmt_init();
$stmt->prepare('SELECT username FROM accounts WHERE username LIKE ?');
$compquery='%'.$_POST['query'].'%';
$stmt->bind_param('s',$compquery);
$stmt->execute();
$stmt->store_result();

关于php - 准备好的语句mysqli不返回行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com