示例代码:
$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,这代表了它们是什么,但也可能会很令人困惑,因为它们看起来非常相似。这是我的问题:
- 有没有更简单的方法 不知道对于这种 任务?
- 如果不是,你叫什么名字 给出那些一次性变量?是 有什么标准吗?
最佳答案
只有当您期望返回多行时,才需要 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/