我不确定我是否进行了 100% 的连接和查询,但由于我收到的错误仅与我假设的结果有关。但是,我不知道如何正确处理数据以显示它。
php:
$query = SELECT * FROM `user` WHERE `email` = 'mflem@yahoo.com' AND 'password' = 'password'
$db = new mysqli('localhost','root','','xxxxxxx') or die('unable to connect!');
if($db->connect_errno){
$message = $db->connect_error;
} else{
if($result = $db->query($query)){
$result->close();
while($row = mysqli_fetch_assoc($result)){
echo "result: " . $row['user_Id'];
}
return $result;
} else{
$message = $db->error;
return $message;
}
}
$db->close();
浏览器控制台中显示错误。
警告:mysqli_fetch_assoc():无法在 14 行的 C:\xampp\htdocs\apps\MyVyn\Utils\utils\servConn.php 中获取 mysqli_result
注意: undefined variable :在C:\xampp\htdocs\apps\MyVyn\Utils\utils\servConn.php第36行返回< br/>
有人可以指出我缺少什么吗?还有更好的方法从数据库中获取数据并显示结果吗?
最佳答案
编辑:
我:“你没有选择任何东西。”
OP: "These is, I didn't notice i didn't include it."
发布时始终发布完整代码。当省略某些内容时,就会留下困惑的空间。
<小时/>您没有选择任何内容。
意思是,您需要从数据库表中选择一个或多个列或所有*
。
示例:
$query = mysqli_query($db,"SELECT column FROM table_name");
或
$query = mysqli_query($db,"SELECT column_1, column_2 FROM table_name");
或
$query = mysqli_query($db,"SELECT * FROM table_name");
但是,我建议您查看 use prepared statements ,或PDO with prepared statements ,有很多示例可供您引用。
<小时/>编辑: #2
您正在使用 $db->close();
提前关闭数据库连接:
else{
if($result = $db->query($query)){
$result->close();
while($row = mysqli_fetch_assoc($result)){
echo "result: " . $row['user_Id'];
}
$db->close(); // <= there
return $result;
} else{
$message = $db->error;
$db->close(); // <= there
return $message;
}
}
从所有循环内部删除 $result->close();
并将其放置在成功查询之外。
关于php - 在php中显示获取mysql数据的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25413427/