将MySQL查询分成$ query和$ result的任何值?

时间:2011-09-28 04:27:33

标签: php mysql

我总是看到MySQL查询结构如此,即使是最简单的查询:

$query = "SELECT * FROM table_name WHERE id = '1'";
$result = mysql_query($query);

通过简单的一行查询(例如?

)执行上述操作是否有任何价值,时间或其他方式
$result = mysql_query("SELECT * FROM table_name WHERE id = '1'";

我一直使用前者,因为当我开始使用PHP时,我认为最好简单地复制其他人,但是现在我正在处理一个相当大的(相对于我的其他工作)应用程序,我可以剪切如果确实没有差异,那就大量进行任意编码。

5 个答案:

答案 0 :(得分:3)

使用第一个,在出现问题时更容易记录SQL(并且更容易发现拼写错误,例如缺少括号)。

答案 1 :(得分:3)

一般来说,我喜欢将它们分开,因为当我试图弄清楚为什么我的查询不起作用时,我可以很容易地做print $query;。这主要取决于个人偏好。

答案 2 :(得分:0)

实际上除了一件事之外没有任何区别。如果您将查询放在单独的变量中,那么您可以重用它。如果查询中发生任何更改,您只需要在变量

中编辑查询

答案 3 :(得分:0)

您始终可以创建一个自定义函数,该函数接收查询并运行它,并传递其他可选参数,以防您希望它返回查询,或记录查询以跟踪任何问题等。

答案 4 :(得分:0)

  

通过简单的一行查询(例如?

)执行上述操作是否有任何价值,时间或其他方式

当然,正如MSpreij所说,您可以在出现错误时检查您的查询。

我总是看到MySQL查询结构如此,即使是最简单的查询:

$query = "SELECT * FROM table_name WHERE id = '1'";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);

这个简单的构造将在stackoverflow中为你节省十几个问题“这是什么意思mysql_fetch_array(): supplied argument is not a valid MySQL result

注意附加部分。这称为编程 如果出现错误,它会自动打印您的查询 以及mysql错误消息。或者使用适当的设置将其记录到实时服务器的错误日志中。

无需手动编写print $query;

但是,这两种方法都很丑陋。

根本不应该使用原始API函数。

它丑陋,不可维护,臃肿和重复。

应该开发一个库,这个函数可以使呼叫更智能,更少重复

$data = mydb_get_row("SELECT * FROM table_name WHERE id = 1");

完成所有处理。具有错误处理,查询记录,参数检查和api函数调用 然而,作为一个真正的单行,而不是你想要实现的愚蠢。