SQL(mysqli)查询不会产生在线数据库的结果

时间:2014-04-02 17:37:30

标签: php mysql sql mysqli

我有一个包含多条记录的在线数据库,我正在使用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查询的问题......

非常感谢任何帮助;谢谢!

1 个答案:

答案 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);