我正在从数据库中调用主题中帖子的信息。我正在使用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[]
是关于该主题的一系列信息。
此代码的问题在于我想将结果保存在变量中,而不仅仅是自动将其打印出来。
这可能吗?
答案 0 :(得分:1)
你试过了吗?
while($row = mysql_fetch_assoc($result1)){
$postinfo[] = $row;
}
这将为$postinfo
中的数组添加eveything。
<强>无论其强>
您应该考虑从mysql_*
切换到PDO
或mysqli_*
- 它们都可以轻松编写安全代码。
答案 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查询结果集。