3 php mysql while-loop content-management-system conditional-statements
所以,我正在使用PHP构建我的第一个超级基本CMS.我不想简单地复制我正在观看的教程中的代码,但我真的很了解它.困扰我的一件事是使用while循环来获取帖子.在下面的代码中,我无法看到圆括号内的语句如何构成条件.在我看来它所做的就是为变量$ post分配一个数组.我想,你怎么能循环不是条件的东西是我的问题.谢谢!
function get_posts () {
$query = mysql_query("SELECT * FROM posts") or die(mysql_error());
while ($post = mysql_fetch_assoc($query)) {
echo $post['Content'];
}
}
Run Code Online (Sandbox Code Playgroud)
您正在观看的教程严重过时!请不要mysql_*在新代码中使用函数.它们不再被维护,并且已经开始弃用.看到红色的盒子?了解准备好的语句,并使用PDO或MySQLi - 本文将帮助您确定哪些.如果您选择PDO,这是一个很好的教程.
至于具体问题,这一行
while ($post = mysql_fetch_assoc($query)) {
Run Code Online (Sandbox Code Playgroud)
是条件.mysql_fetch_assoc()如果有更多结果,则返回一个数组;如果没有结果,则返回一个数组false.如果它返回false,则条件将评估为false,并且循环将中断.