PHP MYSQL换行长查询?

时间:2013-06-12 23:21:16

标签: php mysql word-wrap phpstorm

有点愚蠢的问题,但我在学习也许你可以教我一些东西!!

我有时候会有5或6行长的mysqli查询,我首先使用phpmyadmin测试它们,我可以按Enter键“将它们布局”,以便我在编码时看到它。如果我将它们复制并粘贴到我的php文件中,由于换行符,它们将无法正常工作。

我知道我可以添加一个变量,并且可以像:

$query = "SELECT bla bla bla bla";
$query .= " FROM table ...";
$query .= " WHERE ...";

但我只是想知道是否有更好/更容易/更好的方式来布置我的代码。 我使用phpstorm,并且包装就可以了,但是在屏幕的边缘包裹,因为它可以更好地包裹在特定点。

也许有点傻,但很高兴知道是否有诡计!!

由于

3 个答案:

答案 0 :(得分:10)

PHP并不关心事物的内容 - 这就是分号的含义。 MySQL也没有,所以你可以轻松地做到这一点:

$query = "SELECT ...
    FROM ...
    WHERE ...";

当涉及更长的查询时,这肯定有助于提高可读性!

答案 1 :(得分:1)

您可以使用heredoc,但字符串中的换行符应该没有问题。我经常有多个字符串跨越多行。不过,Heredoc对你来说是个不错的选择。 http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

答案 2 :(得分:1)

我对php中的查询布局很挑剔,特别是涉及长时间复杂的查询时。它只是让它更具可读性。

我的偏好

就我个人而言,我喜欢它的外观,

$query =
  "SELECT ".
  "    * ".
  "FROM ".
  "    people ".
  "where ".
  "    people.name = 'bob'";

为什么我不喜欢在字符串中使用中断

使用这种方法,每行之前需要额外的空间。也许我对此非常感兴趣,但我更喜欢我的第一种方法。

$query = "SELECT
      *
  FROM
      people
  where
      people.name = 'bob'";