使用 php mysql 函数,如果我有一个查询,我知道它只会从数据表中返回一行,我会嵌套这样的函数:
$myVariable = mysql_fetch_assoc(mysql_query("SOME QUERY"));
使用 mysqli 函数我必须使用两行代码:
$query = $db->query("SOME QUERY");
$myVariable = $query->fetch_assoc();
是否可以像使用旧的 mysql 函数一样将这两行压缩为一条?
您可以链接它们:
$myVariable = $db->query("SOME 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();
}
如果您嵌套或链接调用,您可能会遇到未处理的致命错误,因为query()
如果有 MySQL 错误将返回 false。
如果您希望整理或减少代码,您可以扩展 MySQLi 类并添加您自己的方法来获取单行。
事实上,你不应该使用旧的 mysql 函数将两行压缩为一条,也不应该使用新的函数。
当程序员需要压缩某些东西时,他们会编写一个函数。所以你必须这样做。
那么,它必须是什么
$myVariable = my_function("SOME QUERY");
如你看到的,