为什么我的die()文本没有显示出来?

时间:2014-05-01 13:56:22

标签: php mysql string concatenation string-concatenation

这是我多年来的第一个网络编程项目,如果问题非常基本,请原谅我。这是我的代码

<?php
require_once('base.php');

//connect to DB
$conn = mysql_connect($dbhost, $dbuser, 'wrong password') 
     or die ("Unable to establish connection to MySQL: " + mysql_error($conn));
?>

base.php定义变量$dbhost$dbuser。如您所见,我故意使用错误的密码进行数据库连接。当我在浏览器中打开页面时,我希望看到文本"Unable to establish connection to MySQL: ... "。但是,我看到的是:

enter image description here

当我将die()更改为echo()时,没有任何变化。我错过了什么? 我正在使用Wamp。

1 个答案:

答案 0 :(得分:7)

您正在使用错误的连接运算符。 +适用于JavaScript。 In PHP we use .

or die ("Unable to establish connection to MySQL: " + mysql_error($conn));

应该是:

or die ("Unable to establish connection to MySQL: " . mysql_error($conn));

修改

要跟进@ MichaelBerkowski和@Jessica的评论,你应该看不到die()的输出,因为PHP将type juggle这两个字符串,键入它们为零,并给你一个总和零。 die(0) will then output nothing。一旦实施上述解决方案,这将发生变化。