鍍金池/ 問答/PHP  Linux/ php在apache顯示page isn't working

php在apache顯示page isn't working

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

    //創(chuàng)建連接
    $conn = new mysqli($servername, $username, $password);
    // 檢測(cè)連接
    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
?>

數(shù)據(jù)庫能連接,但是當(dāng)我使用 mysql_select_db($dbname, $conn) or die ( 'Can't use test: ' .mysql_error ($conn));時(shí)候就顯示頁面不工作了,改成mysqli_select_db也沒有,除此之外mysql_connect也不能用,必須用mysqli來創(chuàng)建連接對(duì)象,不知道什么原因


不得不吐槽網(wǎng)上的教程,都已經(jīng)是deprecate的api,直接看dash上的api發(fā)現(xiàn)mysqli_select_db( $conn, $dbname)這樣就沒有報(bào)錯(cuò)了

回答
編輯回答
荒城

mysql,mysqli 寫對(duì)。兩者不一樣,寫統(tǒng)一。

另外,教使用 mysql,mysqli擴(kuò)展的視頻都不用看,看 pdo 的視頻。

2017年3月2日 12:57
編輯回答
孤慣

mysql擴(kuò)展自 PHP 5.5.0 起已廢棄,并在自 PHP 7.0.0 開始被移除。應(yīng)使用 MySQLi 或 PDO_MySQL 擴(kuò)展來替換之。
你用的PHP版本是?

2018年5月2日 08:13
編輯回答
我以為

可能是你的 php 版本問題, mysqlphp 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

2018年7月27日 16:21
編輯回答
痞性

好吧,背后的原理是你調(diào)用mysql*系列函數(shù)時(shí),觸發(fā)了PHP的Call to undefined function(函數(shù)不存在)的Fatal error(致命錯(cuò)誤),PHP異常終止執(zhí)行,Apache收到PHP的異常信號(hào)時(shí),認(rèn)為PHP處理請(qǐng)求時(shí)發(fā)生異常,所以返回給客戶端page isn't working(網(wǎng)頁無法工作),而恰好此時(shí)你的php.ini配置了display_errors為off,Apache就認(rèn)為你不想錯(cuò)誤trace信息讓客戶端看到,所以給客戶端返回網(wǎng)頁無法工作。

你也可以去Apache的錯(cuò)誤日志文件中看到相關(guān)PHP異常和錯(cuò)誤日志。

當(dāng)然你也可以去去php.ini中將display_errors打開(設(shè)置成on),就鞥在頁面上看到PHP的具體錯(cuò)誤trace了。

2017年9月10日 02:35