php - 找不到简单查询的使用示例并且有问题

标签 php mysql pdo mysqli

我正在尝试做一些非常简单的事情。

我找不到任何没有参数的 PDO 查询的使用示例。 mysqli 是我的后备...试图避免使用 MYSQL,因为每个人都一直提示我不使用它。

所以我尝试了这个:

$db = new mysqli('hostname', 'user', 'pass', 'db');
$dbh = new PDO("mysql:host=hostname;dbname=db", "user", "pass");
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$types = $db->query("SELECT * from `a_types` ORDER BY `priority`");
while ($type = $db->fetch_array($types)) {
echo '<a href="{$_SERVER[PHP_SELF]}?{$type[title]}=choose">I have a broken {$type[title]}.</a> <br />';
}

但我遇到以下问题: fatal error :调用未定义的方法 mysqli::fetch_array()

我做错了什么?

另外:当我调用$db时,我是否必须在完成后关闭连接?/我该怎么做?

最佳答案

您尝试在 $db 上调用 fetch_array,而不是在 $types 上调用。 $db->query() 返回您存储在 $types 中的结果集。通过此结果集,您可以使用 fetch_array 等函数循环遍历结果。

$result = $db->query('SELECT blabla');
while($type = $result->fetch_array()){
    // do stuff
}

//编辑:由于代码更干净,关闭连接总是更好。一般来说,当您删除对象时,连接也会关闭(脚本完成时也会发生这种情况)。

关于php - 找不到简单查询的使用示例并且有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23141992/

相关文章:

php - 如果已输入数据,如何填充多页表单;如果没有当前数据,如何将其留空?

php - 什么被认为是较长的执行时间?

php - PDO 中的 MySQL 数据库连接管理

database - Codeigniter PDO 集成

php - 为什么要提交以下 PDO 事务?

php - Bootstrap CSS 会覆盖主题吗?

php - Ajax 中的 RSS 阅读器 : Help with code, 有什么问题/缺失?

mysql - 如何验证特定表字段的内容是否单义?

mysql - 具有多个条件的 SQL 查询

MySQL 查询时间太长,未使用索引