2012-02-04 47 views
2

我选择我的产品在MySQL的产品表的名字,然后我想这些名字提交给像
$names = array(name1, name2, ...)
凡姓名1,...是产品从名字MySQL的。我经历了类似的案例,但似乎没有解决我的问题。我是一个新手,只是想学习。转换的MySQL结果到字符串数组

回答

5
$result = mysql_query("SELECT name FROM products"); 
$names=array(); 
while ($row = mysql_fetch_row($result)) $names[]=$row[0]; 
mysql_free_result($result); 

您需要循环,因为没有办法直接获取完整结果集的所有行。

+0

谢谢!正是我想要的 – Mona 2013-05-12 06:10:12

+0

帮了我很多!谢谢。 – dnns 2014-04-02 18:41:44

-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++; 

    } 
-1

那么从学术角度,我想有一个在做这样的事情

$names = explode('<|>', mysql_result(mysql_query(
    "SELECT GROUP_CONCAT(name separator '<|>') FROM products GROUP BY 'name'" 
), 0)); 

所有单行循环和数组的功率,对于低一个“可行的”替代,低廉的价格让耶稣哭泣。是的,你应该大概使用循环。除非你有一种恐惧症,因为当你小时候,在你的学校外等待着你,并且打败你,我想。

+0

从学术的角度来看,必须创建一个*函数*。但似乎没有PHP用户(至少在这个网站上)曾听说过这样的功能。 – 2012-02-04 17:46:36

+0

仅当您打算重新使用代码时。否则函数本身会导致代码膨胀。 – Naltharial 2012-02-04 17:59:33

+0

..其他线索将是没有意义的。 (请注意*这是最可重用的情况) – 2012-02-04 18:06:14

-1

说不上为什么everione贴到一个班轮但无论如何,它总是好主意,使你的代码少臃肿

在一些配置文件创建一个功能

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");