php - 关于 mysql_query -> mysql_fetch_array() 过程

标签 php mysql sql coding-style

示例代码:

$infoArray = array();
require_once("connectAndSelect.php");
// Connects to mysql and selects the appropriate database
$sql = "SOME SQL";
if($results = mysql_query($sql))
{
    while($result = mysql_fetch_array($results, MYSQL_ASSOC))
    {
        $infoArray[] = $result;
    }
}
else
{
    // Handle error
}
echo("<pre>");
print_r($infoArray);
echo("</pre>");

在此示例代码中,我只想在 $infoArray 中获取查询结果。简单的任务,简单的措施……不是。 我会喜欢这样的东西:

$sql = "SOME SQL";
$infoArray = mysql_results($sql);

但是不,正如你所看到的,我有两个额外的变量和一个 while 循环,我不太关心它们。它们实际上没有做任何事情:我永远不会再使用它们。而且,我从来不知道如何称呼他们。在这里,我使用 $results 和 $result,这代表了它们是什么,但也可能会很令人困惑,因为它们看起来非常相似。这是我的问题:

  1. 有没有更简单的方法 不知道对于这种 任务?
  2. 如果不是,你叫什么名字 给出那些一次性变量?是 有什么标准吗?

最佳答案

只有当您期望返回多行时,才需要 while 循环。如果您只获取一行,则可以简单地使用 mysql_fetch_array()。

$query = "SOME SQL";
$result = mysql_query($query);
$row = mysql_fetch_array($result);

对于单行返回是我使用的标准。当然,在 PHP 中执行此操作有点笨拙,但至少您已将过程分解为可调试的步骤。

关于php - 关于 mysql_query -> mysql_fetch_array() 过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4326953/

相关文章:

sql - 如果我从 Azure 弹性池中删除数据库,我是否需要更新代码库中的 SQL 查询?

php - MySQL Laravel ORM 中的日期

php - 日期存储到数据库时出现错误

java - Web app需要与串口通信

c# - MySqlDataReader: DataTable.Fill(reader) 抛出 ConstraintException

sql "chain of command"

php - Laravel 类命名空间

php - 如何将 MySql DATETIME 结果放入 datetime-local 类型的 HTML 输入中

MySQL:从日期时间字段获取 "busiest"或 "most popular"小时?

javascript - 如果我使用setInterval从数据库请求数据,会损坏服务器吗?