我的数据库类中有这个方法
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/