【问题标题】:die() function does not echo anything in PHP? [closed]die() 函数在 PHP 中不回显任何内容? [关闭]
【发布时间】:2013-07-09 20:40:57
【问题描述】:

例如

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

什么都不显示?

我使用的是 PHP 5.4.9

【问题讨论】:

  • 你确定你没有连接吗?
  • 如果它没有死,那说明你连接正常,兄弟。
  • 另外,请注意mysql_* 系列函数已被弃用。改用 PDO 和准备好的语句:php.net/manual/en/book.pdo.php
  • 不要使用mysql_,这是 2013 年,伙计!
  • 我和@Darragh 在一起。与其调试它,不如扔掉它并learn how to use PDO。在不久的将来从 PHP 中删除的过时接口中编写应用程序没有任何好处。

标签: php mysql die


【解决方案1】:

对于您当前的代码,如果您没有从 die 方法中看到任何内容,则意味着您正确连接到 MySQL 服务器和正确的数据库,这正是您想要的,所以这里没有问题。

如果你走这条线,例如:

mysql_connect("$host", "$username", "$password")or die("cannot connect");

只有两种可能的结果,要么连接尝试成功,要么会死掉并打印“无法连接”。不会发生其他任何事情。

不可避免的

请从 MySQL 切换到 MySQLi 或 PDO。 MySQL 函数已被弃用,这意味着它们不再受支持,因此它们不是未来的证明。以下是 MySQLi 的典型错误处理方式:

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

如果在连接尝试期间出现问题,这将显示实际的 MySQLi 错误。

【讨论】:

    【解决方案2】:

    只有在连接失败的情况下才会显示。

    如果你想显示一些东西,你可以将连接放入一个变量中,然后输入如下条件:

    $conn = mysql_connect($host, $username, $password)
    if($conn)
     echo 'Successfully connected';
    else
     echo 'Impossible to connect to the host',
    
    $db = mysql_select_db($db_name)
    if($db)
     echo 'Database selected';
    else
     echo 'Database not exist';
    

    【讨论】:

      【解决方案3】:

      die() 仅在与数据库的连接失败时执行。

      【讨论】:

      • 此外,由于or 条件,这可以简单理解。 “连接死”。
      • 或者如果mysql_select_db函数失败。
      • @Daniel 是的,没错 :)
      猜你喜欢
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 2013-08-18
      • 2016-09-16
      相关资源
      最近更新 更多