我对PHP很新,我意识到我有很多东西需要学习,特别是关于SQL注入攻击和新的php 5.5的东西。从列中返回结果到数组
但是,虽然我正在学习,我尝试玩一下,实验,我遇到了一个问题。我需要将我的查询的一列(team_name)的所有结果放入一个数组(零索引会更容易),以便我可以将这些结果放入foreach循环中以创建一个夹具列表。例如 - 这是我愿意做的数据...
foreach ($teams as $team) {
foreach ($teams as $opposition) {
if ($team != $opposition) {
echo "$team versus $opposition";
}
}
}
所以我的SQL查询如下什么...
$query="select * from pool_a";
$result=mysql_query($query);
$num=mysql_num_rows($result);
然后,我可以很容易地将数据输出我寻找如下;
echo "<table>";
for ($i=0;$i<$num;$i++) {
$teams=mysql_result($result,$i,'team_name');
echo "<tr><td>$teams</tr>";
}
echo "</table>";
但我不能做的是将数据获取到数组中。我认为从上面的msql_query返回的数据总是以数组形式返回,无论结果的数量如何,但是如果我在$ teams上运行is_array()检查,它将返回false。
我已经尝试过使用爆炸(在每个团队名称后面添加逗号并修剪最后一个关闭之后),然后使用foreach循环但它只返回与索引[0]关联的值。我应该在这里补充一点,尽管关键字是0,但我得到的实际值是列表中的最后一个,如上所述,我也不明白。
任何帮助将不胜感激。
感谢
$ result_array = mysql_fetch_array($ result); – raygo
是否会在现有查询下替换某些内容或添加的代码行?谢谢 – DJC
使用'mysql_ *'函数是非常不鼓励的。您应该尽快开始使用MySQLi或PDO进行与数据库相关的任务。 – Aborted