【问题标题】:How can i create arrays from a query in php如何从 php 中的查询创建数组
【发布时间】:2014-02-17 23:37:38
【问题描述】:

在我的数据库中,我有一个“选项”表,其中包含来自我的网站的选项,例如标题、语言等。

我想加载所有这些选项并将其存储在一个数组中查询数据库。

此代码手动工作

$option=array("title" => "Site's title", "option2" => "option 2 value");
echo $option[title];

但是当我进行查询时...

$query_options=mysql_query("SELECT * FROM options");

while($data_options = mysql_fetch_row($query_options)){

    $option=array($data_options[1] => $data_options[2]);


}

echo $option[title];

它不起作用。

希望你能帮助我。

谢谢

【问题讨论】:

  • 怎么不行?

标签: php mysql sql arrays


【解决方案1】:

mysql_fetch_row() 仅允许您根据列顺序访问查询中的列:$options[0] 或 $options[1]。

请改用 mysql_fetch_array()。例如,有了它,您可以使用 $options["title"] 访问数据。使用列名。

请参阅http://www.php.net/manual/fr/function.mysql-fetch-array.php 的文档

PS - 不要忘记在引号之间加上标题!

【讨论】:

    【解决方案2】:
    $query_options=mysql_query("SELECT * FROM options");
    $array = array();
    
    while($data_options = mysql_fetch_array($query_options)){
    
        $array[]["title"] = $data_options['title'];
        $array[]["value"] = $data_options['value'];
    
    }
    
    var_dump($array);
    

    应该可以。让我知道它是怎么回事。

    另外,你应该知道你不应该使用任何 mysql_* 命令,因为它们不安全,它们正在被贬值,你应该看看这里

    http://www.php.net/manual/en/ref.mysql.php

    http://www.php.net/manual/en/ref.mysqli.php

    【讨论】:

    • 我收到此错误:解析错误:语法错误,第 9 行 /Applications/XAMPP/xamppfiles/htdocs/coccolare/site/header.php 中的意外 T_DOUBLE_ARROW
    • 更新答案,试试看。
    • 我修改了语法但不起作用 $array = array(); while($data_options = mysql_fetch_array($query_options)){ $array[] = array($data_options["option_name"] => $data_options["option_value"]); } var_dump($array);结果:array(2) { [0]=> array(1) { ["title"]=> string(8) "title site" } [1]=> array(1) { ["idioma"]=>字符串(2) "es" } }
    • 请编辑它以匹配答案,例如更改 $array[] 位
    猜你喜欢
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 2015-05-29
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    相关资源
    最近更新 更多