PHP mySQL - 你能返回一个带有数字索引的关联数组吗?

标签 php mysql

我的数据库类中有这个方法

public function query($queryString)
    {

      if (!$this->_connected) $this->_connectToDb(); //connect to database

      $results = mysql_query($queryString, $this->_dbLink) or trigger_error(mysql_error());

      return mysql_num_rows($results) > 0 ? mysql_fetch_assoc($results) : false;            

    }

这对于返回 1 行的查询非常有用,但是我怎样才能得到一个像这样返回的数组呢?

$array[0]['name'] = 'jim'
$array[0]['id'] =  120
$array[1]['name'] = 'judith' 
$array[1]['ID'] = 121

现在我知道我可以像这样使用 while 循环将此数据插入数组,但我想知道 PHP 是否可以使用内部函数来做到这一点?我无法在文档中找到我想要的东西。

我不想在方法中运行 while 的原因是因为我将在数组返回时重复返回,我不想运行结果两次(出于性能原因)。

有没有办法做到这一点?我的一般查询方法设计有问题吗?

非常感谢!

最佳答案

public function query($queryString)
    {

        if (!$this->_connected) $this->_connectToDb(); //connect to database

        $results = mysql_query($queryString, $this->_dbLink) or trigger_error(mysql_error());

        $data = array();
        while($row = mysql_fetch_assoc($results))
         {
               $data[] = $row;
         }
        return $data;

    }

这将始终返回一个数组。

编辑: 我没有很好地阅读这个问题。 如果您真的不想使用循环,那么我会这样做:

public function query($queryString)
    {

        if (!$this->_connected) $this->_connectToDb(); //connect to database

        return mysql_query($queryString, $this->_dbLink) or trigger_error(mysql_error());

    }

然后遍历它,但我只会使用循环。

关于PHP mySQL - 你能返回一个带有数字索引的关联数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/339371/

相关文章:

php - 正则表达式匹配除字母和数字以外的所有字符

php - 如何加速 MySQL 数据库/查询?

php - Yii2:SQLSTATE [42S22]:在 Yii2 中找不到列

php - 如何让这个 session 进入另一个.php?edit<?php echo $result->id;?>

MYSQL 选择日期早于日期时间的行

php - 'Warning : mysql_fetch_array() expects parameter 1 to be resource, boolean given in...' 但我的查询是正确的

php - DynamoDB 计数分组依据

php - 如何查看相对日期?

PHP选择所有日期在现在之后的地方

mysql - 使用mysql在datagridview上显示pdf文件