Php MySQLi不返回获取的数据
我有一个PHP脚本,可以查询数据库并返回数据库中所有用户名的列表。问题是,它没有打印任何内容,我认为我在错误地执行while语句,下面是我的代码:Php MySQLi不返回获取的数据,php,mysqli,Php,Mysqli,我有一个PHP脚本,可以查询数据库并返回数据库中所有用户名的列表。问题是,它没有打印任何内容,我认为我在错误地执行while语句,下面是我的代码: <?php include "init.php"; $stmt = "SELECT username FROM tbl_users "; $result = $dbcon -> prepare($stmt); $result->execute(); $result->store_res
<?php
include "init.php";
$stmt = "SELECT username FROM tbl_users ";
$result = $dbcon -> prepare($stmt);
$result->execute();
$result->store_result();
$count = 0;
while($row = mysqli_fetch_assoc($result)){
if($row['username']=="Ben"{
echo "Here";
}
//$count++;
}
?>
主要问题是您没有正确阅读手册/示例
mysqli_stmt_get_result()不会更改语句的状态。它返回一个mysqli结果。因此,您必须将此返回值赋给一个变量,然后再使用此变量
此外,您使用数据库的方式完全错误。不要从数据库中选择所有行,而应始终选择所需的唯一数据。
对于您的情况,代码如下所示
include "init.php";
$name = "Ben";
$stmt = $dbcon->prepare("SELECT 1 FROM tbl_users WHERE username = ?");
$stmt->bind_param("s", $name);
$stmt->bind_result($found);
$stmt->execute();
$stmt->fetch();
if ($found) ... // here you go
对于其他情况,您必须仔细阅读手册或书籍。并准确地再现代码由于您的代码中存在多个错误,我设法编写了一个代码我不确定下面的代码是否是最好的,但它可以工作
<?php
include "init.php";
$stmt = "SELECT username FROM tbl_users ";
$result = mysqli_query($sqlconnection, $stmt) or die($mysqli_load->error);
$count = 0;
while($row = mysqli_fetch_assoc($result)){
if($row['username']=="ben"){
echo "Here";
}
//$count++;
}
?>
您确定连接到数据库的用户具有查看该表的权限吗?你确定表中有记录吗?您可以尝试“从tbl_用户中选择计数(*),因为这将返回一行(假设没有错误)。表中是否有用户名Ben
?您在没有$
的情况下注释掉了count++
,它真的是count++
而不是$count++
?您好,数据库中确实存在ben为什么使用oop和过程风格?$result->fetchAll()。除了while($row=mysqli\u fetch\u assoc($result))中的mysqli\u fetch\u assoc()
<?php
include "init.php";
$stmt = "SELECT username FROM tbl_users ";
$result = mysqli_query($sqlconnection, $stmt) or die($mysqli_load->error);
$count = 0;
while($row = mysqli_fetch_assoc($result)){
if($row['username']=="ben"){
echo "Here";
}
//$count++;
}
?>
$link = new mysqli("localhost","user","pass","database");