<?php
$servername = "127.0.0.1";
$username = "root";
$password = "";
$dbname = "myDB";
//創(chuàng)建連接
$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來創(chuàng)建連接對象,不知道什么原因
不得不吐槽網上的教程,都已經是deprecate的api,直接看dash上的api發(fā)現mysqli_select_db( $conn, $dbname)這樣就沒有報錯了
4 回答

慕村225694
TA貢獻1880條經驗 獲得超4個贊
好吧,背后的原理是你調用mysql*
系列函數時,觸發(fā)了PHP的Call to undefined function
(函數不存在)的Fatal error(致命錯誤)
,PHP異常終止執(zhí)行,Apache
收到PHP的異常信號時,認為PHP處理請求時發(fā)生異常,所以返回給客戶端page isn't working
(網頁無法工作),而恰好此時你的php.ini
配置了display_errors
為off,Apache就認為你不想錯誤trace信息讓客戶端看到,所以給客戶端返回網頁無法工作。
你也可以去Apache的錯誤日志文件中看到相關PHP異常和錯誤日志。
當然你也可以去去php.ini
中將display_errors
打開(設置成on
),就鞥在頁面上看到PHP的具體錯誤trace了。

偶然的你
TA貢獻1841條經驗 獲得超3個贊
mysql擴展自 PHP 5.5.0 起已廢棄,并在自 PHP 7.0.0 開始被移除。應使用 MySQLi 或 PDO_MySQL 擴展來替換之。
你用的PHP版本是?

侃侃無極
TA貢獻2051條經驗 獲得超10個贊
可能是你的 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.
- 4 回答
- 0 關注
- 497 瀏覽
添加回答
舉報
0/150
提交
取消