假设有一个"日期"列和一个"名称"列,如何在"当前日期"之前只获取"名称"?

Mad*_*ake -1 php mysql

可能重复:
PHP SQL,查询只返回一行数据

我的一个朋友被要求我做一些编码.他用"gameName"(VARCHAR)和"releaseDate"(日期)列创建了一个MySQL数据库.他需要从当前日期之前发布的"gameName"中获取并显示游戏名称.

在这里,我使用了MySQL的CURDATE()函数来过滤掉已经发布的游戏.但问题是我必须为每个结果写一个回声线.这是糟糕的编程,其背后的逻辑非常糟糕.

<?php
$mysql_host="host_name";
$mysql_username="db_user";
$mysql_password="db_password";
$mysql_database="db_name";
$mysql_table="table_name";

mysql_connect("host_name", "db_user", "db_password") or die("YOLO");
mysql_select_db("db_name") or die("YOLO");

$sql = mysql_query("SELECT gameName FROM table_name WHERE CURDATE() > releaseDate");
$result = mysql_fetch_row($sql);

echo $result[0];
echo $result[1];
echo $result[2];
// and so on...?
?>
Run Code Online (Sandbox Code Playgroud)

结果:只显示一条记录.

Col*_*n M 5

首先,mysql_*函数已弃用,不应再使用.我强烈推荐PDO库,特别是如果您要处理用户输入.

如果你坚持坚持mysql_*,你的代码看起来应该更像这样:

$result = mysql_query("your query") or die(mysql_error());
while ($row = mysql_fetch_row($result)) {
    echo $row['gameName'] . '<br />';
}
Run Code Online (Sandbox Code Playgroud)

我同意上述评论.在你太介入之前,我建议你真正阅读这些手册.拥有一点额外的知识可以对您作为程序员的效率产生重大影响(更不用说代码的安全性).