我有一个包含多条记录的在线数据库,我正在使用 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 查询有问题...
非常感谢任何帮助;谢谢!
最佳答案
The query successfully executes but no records are printing in the browser window
那是因为你没有做任何打印操作。
do I need another method to actually print the results of the query?
是的,您需要遍历记录集。
像这样的..
$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);
关于php - SQL (mysqli) 查询未从在线数据库中产生结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22818920/