将整个mySQL表加载到PHP数组中

时间:2011-12-20 02:19:56

标签: php mysql arrays

我有一个包含4列和23行的表。我需要表中的所有92个值作为PHP变量(无论是一个数组,4个数组,92个单独的变量,还是其他)。

行是:
ID
分类
摘要
文字

我需要构建一系列选择框,其中项目按类别分组,可用选项是摘要,并传递生成的文本以进行处理。

我一直在寻找,但我能找到的所有例子都是关于打印表格,我需要继续使用这些变量。

我非常感谢任何帮助! 比利

3 个答案:

答案 0 :(得分:4)

只需SELECT * FROM table_name即可选择所有列和行。

$query = "SELECT * FROM table_name";
$result = mysql_query($query);

$num = mysql_num_rows($results);
if ($num > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        // You have $row['ID'], $row['Category'], $row['Summary'], $row['Text']
    }
}

答案 1 :(得分:3)

好的,我用更好的搜索字词找到了答案。我还是新来的,所以让我知道这不是一个公平的方法来处理这种情况。我赞成@Indranil,因为他或她花了很多时间试图帮助我。

总之...

    $content = array();
    while($row = mysql_fetch_assoc($result)) {
      $content[$row['id']] = $row;
    }

将整个表放入一个巨大的多维数组中,以便我可以在整个代码中使用它。它甚至通过ID(这是唯一标识符)命名数组的第一级。

感谢那些试图帮助我的人! 比利

答案 2 :(得分:1)

$pdo = new PDO( 
    'mysql:host=hostname;dbname=database;charset=utf-8', 
    'username', 
    'password'
);
$pdo->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );

$stmt = $pdo->query('SELECT ID, Category, Summary, Text FROM Table');
if ( $stmt !== false )
{
   $data = $stmt->fetchAll( PDO::FETCH_ASSOC );
}

如果SQL查询没有条件,请使用query(),否则,您应该使用prepare()绑定参数。

哦..请停止使用古老的mysql_*函数,它们正在被弃用,并且不应该用它们编写新的代码。