Php mysql结果为数组
我有一张这样的桌子: 表:类别 id|名称 1|Foo 2 |巴 PHP 在php中,我想打印出$category[1](choosen id的名称) 所以如果我写:Php mysql结果为数组,php,mysql,arrays,Php,Mysql,Arrays,我有一张这样的桌子: 表:类别 id|名称 1|Foo 2 |巴 PHP 在php中,我想打印出$category[1](choosen id的名称) 所以如果我写: echo$category[1] 结果将是“Foo” 可悲的是我只走了这么远 $result=mysql\u查询(“从类别中选择*); 而($row=mysql\u fetch\u array($result))您可以像这样做: <?php $result = mysql_query("SELECT * FROM categ
echo$category[1]代码>
结果将是“Foo”
可悲的是我只走了这么远
$result=mysql\u查询(“从类别中选择*);
而($row=mysql\u fetch\u array($result))
您可以像这样做:
<?php
$result = mysql_query("SELECT * FROM categories");
?>
<table>
<tr>
<th>Id</th>
<th>Name</th>
</tr>
<?php
while($row = mysql_fetch_assoc($result)) {
?>
<tr>
<td><?php echo $row['id'];?></td>
<td><?php echo $row['name'];?></td>
<?php
}
?>
</tr>
</table>
身份证件
名称
注意:mysql.*
已弃用。使用mysqli
这实际上解决了它
$result=mysql_查询(“从类别中选择*);
$data=array();
$x=1;
while($row=mysql\u fetch\u数组($result)){
$data[$x]=$row['nam'];
$x++;
}
echo$数据[2]代码>使用旧式mysql,它没有用于结果集的迭代器,您可以轻松创建自己的结果集,例如在PHP 5.5中使用生成器:
$rows = function($result) {
while ($row = mysql_fetch_array($result))
yield $row;
};
然后可以将迭代器转换为数组(如果迭代器本身还不够):
如果您低于PHP5.5,您可以使用类似的方法。是的,另外,请记住mysql_*已被弃用,因此请使用mysqli_*或PDO以避免mysql注入!听说过吗?您在$row
中获得了行数据,循环遍历所有行时,问题出在哪里?只要将$row
中的数据存储到某个数组中就行了。恐怕这样不行。$row
的索引[1]
将引用每行的列值(取决于SELECT中传递的列顺序),而不是实际值本身。感谢mysqli的提示!我不知道!
<?php
$result = mysql_query("SELECT * FROM categories");
?>
<table>
<tr>
<th>Id</th>
<th>Name</th>
</tr>
<?php
while($row = mysql_fetch_assoc($result)) {
?>
<tr>
<td><?php echo $row['id'];?></td>
<td><?php echo $row['name'];?></td>
<?php
}
?>
</tr>
</table>
$rows = function($result) {
while ($row = mysql_fetch_array($result))
yield $row;
};
$array = iterator_to_array($rows($result));