【问题标题】:storing values from mysql table into an array in php将mysql表中的值存储到php中的数组中
【发布时间】:2010-12-15 22:20:32
【问题描述】:

我搜索了一下,没有找到有效的解决方案。希望这里有人会提供帮助。 这是我的代码:

            <?php 
        include "../includes/connection.php";
        $sql_select="SELECT title FROM questions";

        if (!$result=mysql_query($sql_select))
        {
        echo "Error<br>" . mysql_error($sql_select);
        die();
        }
        if (mysql_num_rows($result)==0) {
            echo "No questions!";
        } 
        else {

            $titles = mysql_fetch_array($result);
            print_r($titles);
        }
        ?>

出于我的网络应用程序的目的,我需要将问题标题放入一个新数组中。 我以为 mysql_fetch_array() 函数自己创建了一个数组,但我想我错了。 有什么帮助吗? 谢谢

【问题讨论】:

  • 当你做 print_r 时你得到了什么?
  • @Farid:他可能得到一个结果。
  • 仅供参考,我不会将 $sql_select 字符串传递给 mysql_error。检查文档。

标签: php mysql arrays


【解决方案1】:

您需要将$titles = mysql_fetch_array($result); 移动到这样的循环中:

$titles = array();
while ($title = mysql_fetch_array($result)) {
    $titles[] = $title;
}

另外注意,删除您在mysql_error() 中放置的参数。

【讨论】:

  • 我不能比被允许的更早接受它。我会的,别担心:)
  • 我仍然会将$titles 声明为$titles = array()。使代码更容易理解。
  • @Felix:好点子,它还能确保之前定义的其他同名变量没有任何问题。
【解决方案2】:
$result = mysql_query('select * from table');

$table = array();
while($r = mysql_fetch_array($result) {
    $row = array();
    foreach($r as $k=>$v) {
         $row[$k] = $v;
    }
    array_push($table,$row);
    unset($row);
}

$table 将是您的表格的 3d 数组表示。 $table[0]['title'] 将是第一行的标题。

【讨论】:

    猜你喜欢
    • 2011-07-26
    • 2014-03-18
    • 2015-04-22
    • 2013-10-08
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    相关资源
    最近更新 更多