php在apache显示page isn't working

<?php
    $servername = "127.0.0.1";
    $username = "root";
    $password = "";
    $dbname = "myDB";

    //创建连接
    $conn = new mysqli($servername, $username, $password);
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }
    mysql_select_db($dbname, $conn) or die ( 'Can\'t use test: '  .mysql_error ($conn));
    $result = $conn->query('slect * from test.Person');
    echo $result
?>

数据库能连接,但是当我使用 mysql_select_db($dbname, $conn) or die ( 'Can't use test: ' .mysql_error ($conn));时候就显示页面不工作了,改成mysqli_select_db也没有,除此之外mysql_connect也不能用,必须用mysqli来创建连接对象,不知道什么原因


不得不吐槽网上的教程,都已经是deprecate的api,直接看dash上的api发现mysqli_select_db( $conn, $dbname)这样就没有报错了

尚方宝剑之说
浏览 483回答 4
4回答

慕村225694

好吧,背后的原理是你调用mysql*系列函数时,触发了PHP的Call to undefined function(函数不存在)的Fatal error(致命错误),PHP异常终止执行,Apache收到PHP的异常信号时,认为PHP处理请求时发生异常,所以返回给客户端page isn't working(网页无法工作),而恰好此时你的php.ini配置了display_errors为off,Apache就认为你不想错误trace信息让客户端看到,所以给客户端返回网页无法工作。 你也可以去Apache的错误日志文件中看到相关PHP异常和错误日志。 当然你也可以去去php.ini中将display_errors打开(设置成on),就鞥在页面上看到PHP的具体错误trace了。

偶然的你

mysql扩展自 PHP 5.5.0 起已废弃,并在自 PHP 7.0.0 开始被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。你用的PHP版本是?

侃侃无极

可能是你的 php 版本问题, mysql 在 php 7.0.0 被废除。 This extension is deprecated as of PHP 5.5.0, and has been removed as of PHP 7.0.0. Instead, either the mysqli or PDO_MySQL extension should be used. See also the MySQL API Overview for further help while choosing a MySQL API. PHP: Introduction - Manual

jeck猫

mysql,mysqli 写对。两者不一样,写统一。 另外,教使用 mysql,mysqli扩展的视频都不用看,看 pdo 的视频。
打开App,查看更多内容
随时随地看视频慕课网APP