php - 分离查询和结果的原因?

标签 php mysql mysqli

除了可读性之外,在编写代码时是否有任何理由应该将查询和结果分开?

例子分开:

$query = "SELECT * FROM foo ORDER BY foo2 DESC LIMIT 10";
$result = mysqli_query($dbconnect,$query);

与单行相比:

$result = mysqli_query($dbconnect,"SELECT * FROM foo ORDER BY foo2 DESC LIMIT 10"); 

我通常使用第一个例子,但我发现自己最近越来越多地使用第二个单行例子,因为它写起来更快更容易,所以我想在它成为第二天性之前问一下,然后发现它真的很糟糕可能会炸毁世界什么的 0.o

最佳答案

这更像是一种偏好,但可读性无疑是一个强有力的理由。但是,我还认为查询的可伸缩性和可维护性也可能是一个合适的参数。假设你有一个复杂的查询,其中有多个变量正在为 SQL 注入(inject)和连接等进行清理。换句话说,一个长查询:

$result = mysqli_query($dbconnect,"SELECT * FROM foo, bar Where col1.bar = (Select col1 From someTable where {$varibale} = ...) Group By ... ORDER BY foo2 DESC LIMIT 10");

将所有这些都塞进函数中会使其难以阅读并且难以维护。

关于php - 分离查询和结果的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27722315/

相关文章:

php - 如何将 "add a friend"链接转为按钮?它的功能不同于例如 "send message"链接

php - 使用准备好的语句插入外键

MySQL-如何获取列中的匹配总数

php - 如何在sql或php中对输出表进行操作

PHP 的 MYSQLI get_charset 返回错误的字符集

php - 从 php/MySql 中的特定列检索数据

php - 我的搜索结果不一致?为什么是这样?

php - 如何使用密码保护免费默认 Azure 应用服务计划上的网站目录?

php - Yii2 按关系排序

mysql - 如何从同一张表正确编写 JOIN 的 SQL 查询?