我有一个包含多条记录的在线数据库,我正在使用mysqli编写一个PHP脚本来连接数据库并从中获取记录。
这是我的剧本:
<?php
$dbHost = 'localhost';
$dbUser = 'root';
$dbPass = '';
$dbDatabase = 'XYZ';
$db = mysqli_connect($dbHost, $dbUser, $dbPass, $dbDatabase) or die('Could not connect: ' . mysqli_connect_error());
$dbFound = mysqli_select_db($db, $dbDatabase) or die('Could not select database: ' . mysqli_error($db));
$userid = mysqli_real_escape_string($db, $_GET['userid']);
$password = mysqli_real_escape_string($db, $_GET['password']);
// Select all records
$query = "SELECT * FROM tableName";
$result = mysqli_query($db, $query) or die('Query failed: ' . mysqli_error($db));
?>
查询成功执行,但浏览器窗口中没有打印任何记录。一个简单的SELECT语句是否会返回记录,同时还会在屏幕上打印它们,还是需要另一种方法来实际打印查询结果?
或者,我的代码中还有其他错误吗?该脚本成功连接到数据库,我还可以从脚本本身将值插入数据库,因此似乎只有SELECT查询的问题......
非常感谢任何帮助;谢谢!
答案 0 :(得分:1)
查询成功执行但没有打印记录 浏览器窗口
那是因为你没有进行任何打印操作。
我是否需要另一种方法来实际打印查询结果?
是的,你需要遍历记录集。
像这样......
$query = "SELECT * FROM tableName";
$result = mysqli_query($db, $query) or die('Query failed: ' . mysqli_error($db));
$res = array();
while($row = mysqli_fetch_array ($result, MYSQLI_ASSOC))
{
$res[] = $row;
}
print_r($res);