在多次尝试为我的想法找到一个独特的解决方案后,我没有机会在这里发布这个问题,希望能找到一个能启发我的人(如果适用)。
我正在开发一个具有多种方法的"全功能"PHP类,这样我就可以在未来做我愿意做的事情(也就是说,有点像个人框架)。
我被类的fetchRow()
方法卡住了。我希望使用此方法从查询中提取行,并且我希望此方法自动形成正确的数据结构。
现在,假设我有一个类似的查询:
$query = mysql_query("SELECT name, surname FROM people", $dbHandle);
我想要这个结果(如果适用):
/*
* var_dump example results after launching a while statement with
* mysql_fetch_row.
*
* 2 fields (name,surname), 2 "master" arrays with corresponding values
*
*/
array
0 = array( ...names... )
1 = array( ...surnames... )
现在,我尝试了几个原生PHP函数、用户定义函数等,但没有目标。
也许在这些尝试之后我疯了,也许这是不可能的,也许我看不到一个简单的方法。
我该怎么做?
好吧,你只需要做一些类似的事情:
$data = array();
while (false !== ($row = mysql_fetch_array($result, MYSQL_NUM)) {
foreach($row as $key => $value) {
if(!isset($data[$key]) {
$data[$key] = array();
}
$data[$key][] = $value;
}
}
也就是说。。。
- 只要使用条令——要么是完整的ORM,要么是DBAL
- 不要使用
ext/mysql
使用PDO
或Mysqli