Php 是否可以嵌套mysqli命令
使用php mysql函数,如果我知道有一个查询只返回数据表中的一行,我会嵌套如下函数:Php 是否可以嵌套mysqli命令,php,mysqli,Php,Mysqli,使用php mysql函数,如果我知道有一个查询只返回数据表中的一行,我会嵌套如下函数: $myVariable = mysql_fetch_assoc(mysql_query("SOME QUERY")); 使用mysqli函数,我必须使用两行代码: $query = $db->query("SOME QUERY"); $myVariable = $query->fetch_assoc(); 是否可以像我使用较旧的mysql函数那样将这两行压缩为一行?您可以: $myVaria
$myVariable = mysql_fetch_assoc(mysql_query("SOME QUERY"));
使用mysqli函数,我必须使用两行代码:
$query = $db->query("SOME QUERY");
$myVariable = $query->fetch_assoc();
是否可以像我使用较旧的mysql函数那样将这两行压缩为一行?您可以:
$myVariable=$db->query(“某些查询”)->fetch_assoc()代码>
尽管这和您最初的mysql使用都容易出错。两者都不能很好地处理失败的查询。是的,您可以这样做,但我不推荐:
$myVariable = $db->query("SOME QUERY")->fetch_assoc();
这是个坏主意,因为您没有机会进行任何错误处理。例如:
$myVariable = array();
$result = $db->query("SOME QUERY");
if($result && $result->num_rows == 1)
{
$myVariable = $result->fetch_assoc();
}
如果嵌套或链接调用,可能会遇到未处理的致命错误,因为如果出现MySQL错误,query()
将返回false
如果您希望整理或减少代码,可以扩展MySQLi类并添加自己的方法来获取一行。事实上,您不应该使用旧的mysql函数将这两行压缩为一行,也不应该使用新的mysql函数
当程序员需要压缩某些内容时,他们会编写一个函数。所以你必须这么做
那么,它必须是什么
$myVariable = my_function("SOME QUERY");
如你所见
- 它比所有这些嵌套/链接/纠缠的结构都更短,可读性更强
- 它具有错误处理、分析日志记录等功能
- 如果您已经在使用函数,您甚至不必重写现有代码李>
您自己尝试过压缩它们吗?您只需使用mysqli\u query
等(不是很漂亮,而是wokring)。也许(未测试)您可以使用$db->query(“…”)->fetch_assoc()代码>@Jimbo是的,我自己也试过,但是在一些没有用的变体之后,我想我应该问问以前可能做过的人。我今天才开始研究mysqli。不知道为什么会以“不具建设性”结束。对我来说似乎是个合理的问题。投票重新开放。这是错误的查询方式谢谢,链接是我一直在寻找的,正如@Le_Morri所提到的。正如我所说,当我知道只有一条记录需要返回时,我就使用它。