【问题标题】:PHP MYSQL line wrap long query?PHP MYSQL换行长查询?
【发布时间】:2013-06-12 23:21:16
【问题描述】:

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

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

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

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

但我只是想知道是否有更好/更容易/更好的方式来布置我的代码。 我使用 phpstorm 并进行了换行,这还可以,但会在屏幕边缘换行,因为在特定点换行会更好。

也许有点傻,但很高兴知道是否有技巧!

谢谢

【问题讨论】:

    标签: php mysql word-wrap phpstorm


    【解决方案1】:

    PHP 不太关心事情在哪一行——这就是分号的用途。 MySQL 也没有,所以你可以很容易地做到这一点:

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

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

    【讨论】:

    • 谢谢 我会试试看,真的很喜欢 PHP !只是从似乎无处不在的初始 php/mysql 教程中找到我的方式,而不是一些少一点的 hello world 和多一点这里是如何正确地做到这一点。再次感谢你们!
    【解决方案2】:

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

    【讨论】:

    • 谢谢,我会试一试,我在打印之前使用了heredoc而没有意识到它
    【解决方案3】:

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

    我的偏好

    我个人喜欢这个样子,

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

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

    使用这种方法,每行之前都会有大量额外的空格。也许我对此过于强迫,但我更喜欢我的第一种方法。

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

    【讨论】:

      猜你喜欢
      • 2016-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      • 2021-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多