好吧,我很自信我这样做只是在几天前,虽然我可能要疯了。 我通过SQL结果数组例如,尝试循环..
$query = mysql_query("SELECT * FROM `my_table`");
$result = mysql_fetch_assoc($query);
现在$结果应该返回多行..它如果使用while循环,通过它,我不循环。 不幸的是,我试着用foreach循环来访问这些数据,以及由于某种原因,它不会工作。 它唯一给我的第一行的print_r($结果)只给我的第一排为好。
foreach($result as $name => $value)
echo "$name = $value\n";
任何建议,将不胜感激!
**编辑:
我喜欢所有的智能答案。我知道这个网站的PHP手册,我知道mysql_fetch_assoc()返回。 这里是我的解决方案:
function returnSQLArray() {
$returnArray = array();
$row = 0;
$query = mysql_query("some sql");
while($result = mysql_fetch_assoc($query)) {
$returnArray[$row] = $result;
$row++;
}
return $returnArray;
}
什么是Vladson讽刺地指出仍然是非常真实的。 我进军PHP编程(多年的价值)一直在不断洒在php.net网站非常多readups。 我把它叫做最好的在线编程文档存在,远击败我20年来使用的任何其他语言..主要是因为社区贡献了惊人的口径。
另外,我会强烈建议抽象你在说什么约到一个数据库辅助类。 或许引用PHPBB代码的一个例子。 PHPBB代码可能OO小于是理想的,但它仍然是建筑一个很好的参考点。 而且,不只是这样做,因为你可以转换你的数据层或更改版本,而是因为它可以轻松地将常见的引入错误报告,查询记录,数据缓存,以及许多其他有用的功能。 这也使得它更容易兼顾多个连接。
例如可能是这样,你可以公开的界面更像是:(这里借口很ADODB性质,但它仍然认为MySQL的一个很好的方式,太)
include "db.inc.php";
$SQL = "SELECT * FROM user WHERE id=123";
$oDB = new Database("localhost", "database", "user", "password");
$oRS = $oDB->NewRecordSet($SQL);
while( $data = $oRS->Read() ) {
// do stuff
}
通过这种方式,页面有少担心访问数据的乏味,并且只需更多地思考如何对数据进行筛选,并用它做什么。
$结果= mysql_fetch_assoc($查询); 返回单行......你需要循环获取每一行。 你通过一排循环提取每一列。
while ($result = mysql_fetch_assoc($query))
{
// do stuff
}
有一个叫手动东西http://www.php.net/manual/en/function.mysql-fetch-assoc.php的例子也有(他们中的很多)