没有循环的查询

时间:2011-01-09 21:57:58

标签: php mysql database

我想从db记录中查询单个帖子(标题,正文,日期)

例如我有我的查询..

$query = 'SELECT * FROM posts WHERE id=$post_id';

从该查询中,如何在没有while或foreach循环的情况下回显标题?

4 个答案:

答案 0 :(得分:5)

你可以只调用mysql_fetch_assoc()(或任何类似的函数)。像这样:

$sql = "SELECT * FROM table";
$row = mysql_fetch_assoc( mysql_query($sql) );
echo $row['title'];

这是使用MySQL函数执行此操作的最简单,最易读的方法。

答案 1 :(得分:3)

您可以使用mysql_result

$sql = 'SELECT * FROM posts WHERE id=$post_id';
$query = mysql_query($sql);
echo mysql_result($query, 0, 'title');

这将回显第一行(0)的字段title

答案 2 :(得分:1)

当您使用mysql_fetch_array等函数时,您没有义务进行迭代。甚至,当你这样做时,你只是得到下一行的结果,直到它返回null:

$query = mysql_query("SELECT * FROM table");
while($row = mysql_fetch_array($query)) {
    var_dump($row);
}

因此,对查询中的每一行执行此操作在技术上是相同的:

$query = mysql_query("SELECT * FROM table");

$row = mysql_fetch_array($query)
var_dump($row);
// Array()
$row = mysql_fetch_array($query)
var_dump($row);
// Array()
$row = mysql_fetch_array($query)
var_dump($row);
// null < the "while" statment will stop here

然后,您可以拨打mysql_fetch_array一次即可。

祝你好运!

答案 3 :(得分:1)

您可以使用此代码进行选择查询,而无需使用while循环:

$ conn是数据库连接

$sql = "SELECT * FROM teacher_details";
$row = mysqli_fetch_assoc($conn->query($sql) );
$teacher_name = $row['teacher_name'];