我可以在每个语句的多行中编写PHP代码吗?

tim*_*tim 7 php newline structure

是否可以编写这样的代码,多行语句?

$db_selected = 
mysql_select_db(
    'my_dbase', 
    mysql_connect(
        'localhost', 
        'mysql_user', 
        'mysql_password'
    )
);
Run Code Online (Sandbox Code Playgroud)

在HTML中,新行被忽略,但在PHP中我有时会出错.我不太熟悉PHP,但认为这应该没问题,不是吗?

cwa*_*ole 10

不,但不是你想的原因.空格很好,但是代码存在问题:

mysql_select_db(
    'my_dbase', 
    // don't call mysql_connect here!!!
    mysql_connect( 
        'localhost', 
        'mysql_user', 
        'mysql_password'
    )
);
Run Code Online (Sandbox Code Playgroud)

MySQL连接将在出错时返回FALSE.这意味着你将无法处理mysql_error()那里,它会导致错误mysql_select_db.

你最好的是:

$conn = mysql_connect( 
        'localhost', 
        'mysql_user', 
        'mysql_password'
) or die( mysql_error() );

mysql_select_db(
    'my_dbase', 
    $conn // optional parameter, but useful nonetheless.
);
Run Code Online (Sandbox Code Playgroud)


tim*_*tim 7

我要回答我自己的问题:只是尝试了这个并且在我的LAMP服务器上,最初发布的代码片段工作得很好(php 5).

所以,是的,您可以将包含运算符的语句分成多行.

字符串连接的答案 - 是的,在这个论坛上已经有很多关于这个问题的答案,但我问的是语句,而不是字符串,我在其他地方找不到答案.

感谢大家!特别是Geroge康明斯.

  • 如果乔治·康明斯的答案正确,那么您(蒂姆)应该选择它旁边的复选标记。http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work (2认同)

Geo*_*ins 3

空格通常会被忽略,因此您可以根据需要插入换行符。但是,您需要以分号 ( ;) 结束每个语句。