我不确定我是否正在进行连接和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
注意:未定义变量:在 36 <返回 C:\ xampp \ htdocs \ apps \ MyVyn \ Utils \ utils \ servConn.php BR />
有人能指出我缺少的东西吗?还有哪些更好的方法从您的数据库中获取数据并显示结果?
答案 0 :(得分:0)
修改强>
我:“你没有选择任何东西。”
OP:“这些是,我没有注意到我没有包含它。”
发布时始终发布完整代码。当省略某些东西时,它会留下混淆的空间。
你没有选择任何东西。
意思是,您需要从数据库表中选择列/列或所有*
。
示例:
$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();
,并将其置于成功查询之外。