我从MySQL的产品表中选择我的产品名称,然后我想将这些名称显示为类似 $names = array(name1, name2, ...)
的地方,其中name1,.. 。是MySQL的产品名称。我已经完成了类似的案例,但似乎没有解决我的问题。我是新手,只是想学习。
答案 0 :(得分:5)
$result = mysql_query("SELECT name FROM products");
$names=array();
while ($row = mysql_fetch_row($result)) $names[]=$row[0];
mysql_free_result($result);
您需要循环,因为无法直接获取完整结果集的所有行。
答案 1 :(得分:-1)
$result = mysql_query("
SELECT `productname` FROM `products`
")or die($result."<br/><br/>".mysql_error());
$numrows = mysql_num_rows($result);
while ($row = mysql_fetch_assoc($result))
{
$productname[$i] = $row['productname'];
// to print out use the following
echo $productname[$i];
$i++;
}
答案 2 :(得分:-1)
嗯,从学术角度来看,我认为做一些像“
”这样的“可行的”替代方案$names = explode('<|>', mysql_result(mysql_query(
"SELECT GROUP_CONCAT(name separator '<|>') FROM products GROUP BY 'name'"
), 0));
循环和阵列的所有力量在一条线上,以低廉的价格让小耶稣哭泣。是的,您应该可能使用循环。除非你有一个恐惧症,因为当你小时候在你学校外等待你的时候,我猜想。
答案 3 :(得分:-1)
Dunno为什么选择单行,但无论如何,让代码不那么臃肿总是好主意
创建一个功能
function dbGgetCol($sql) {
$ret = array();
$res = mysql_query($sql) or trigger_error(mysql_error()." in ".$sql);
if ($res) {
while ($row = mysql_fetch_row($result)) {
$ret[] = $row[0];
}
mysql_free_result($res);
}
return $ret;
}
将它放在每个脚本中包含的一些配置文件中 然后用这个简单的代码获取你的数组
$names = dbGetCol("SELECT name FROM products");