存储数据库中的多个值

时间:2012-09-15 19:06:44

标签: php mysql database

我正在从数据库中调用主题中帖子的信息。我正在使用mysql_fetch_assoc()这样做。我有第一篇文章,但我不知道如何访问回复。所以我想如果我得到该主题的帖子列表,我就可以这样做。

以下是我正在处理的代码示例:

$result1 = mysql_query("SELECT * FROM posts WHERE topic_id='" . $topicinfo['id'] . "'");
  while($row = mysql_fetch_assoc($result1)){
  $postinfo = print_r($row);
}

$topicinfo[]是关于该主题的一系列信息。

此代码的问题在于我想将结果保存在变量中,而不仅仅是自动将其打印出来。

这可能吗?

3 个答案:

答案 0 :(得分:1)

你试过了吗?

while($row = mysql_fetch_assoc($result1)){ 
    $postinfo[] = $row; 
} 

这将为$postinfo中的数组添加eveything。

<强>无论其

您应该考虑从mysql_*切换到PDOmysqli_* - 它们都可以轻松编写安全代码。

答案 1 :(得分:1)

您要做的是将从数据库中提取的所有结果推送到数组中。

$posts = array();
$result = mysql_query("SELECT * FROM posts ...");
while($row = mysql_fetch_assoc($result)){
    $posts[] = $row;
}

现在,数组$posts将包含数据库中的所有结果。语法[]只是array_push()

的简写
  

Using older MySQL library

     

我建议你避免使用过时的mysql_ *函数。将它们用于新代码是highly discouraged。更现代的替代品可供选择   保持。相反,请考虑学习   prepared statements,你也可以使用   PDO or MySQLi。严格使用时,   它们避免了繁琐且手动逃逸的部分,从而变得更容易和(作为副产品)   使用更安全。查看this PDO tutorial,了解一个好的起点。

答案 2 :(得分:0)

要从数据库存储多条记录,您需要定义一个数组变量,并在获取每条记录时将这些记录推送到数组变量中。

例如

    $resultset=array(); 
    while($row=msyql_fetch_assoc($res)) 
    {
    array_push($resultset,$row); 
    }

您可以通过$ resultset变量访问完整的SQL查询结果集。