PHP Fatal error: Call to undefined function mysql_connect() 錯誤解釋


我使用的是5.6.11版本的php

剛開始以為編譯參數加了--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd,就可以不能安裝mysql了。

但是使用了mysq_connect()函數后發現php無法解析,在apache的日志當中出現下面這個提示,剛開始想不通。

PHP Fatal error: Call to undefined function mysql_connect() 

因為原先的mysql.api已經在php5.5開始被移除,而之后的php 自帶的mysqli只支持部分部分函數。

具體可以參考http://cn2.php.net/manual/zh/set.mysqlinfo.php

如果真的不想安裝mysql,用以替代本函數的有:

http://cn2.php.net/manual/zh/function.mysql-connect.php

------------------------------------------------------------------

首先糾正一個問題,

5.x開始,PHP連接MYSQL無論使用哪種方式都是使用的mysqlnd驅動(當然是在你安裝好的時候)。包括mysql_*PDO_MYSQLMYSQLi

在編譯安裝PHP的時候,需要指定開啟以下擴展
--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 而不再是 --with-mysqli=/usr/local/mysql

  • PHP7 正式移除了 mysql 擴展

mysqlndmysql mysqli pdo_mysql關系打比方說 mysqlnd金屬,而mysql mysqli pdo_mysql只是金屬制品而已

使用PDO連接mysql

 
$pdo = new PDO('mysql:host=localhost;dbname=database_name;port=3306','用戶名','密碼'); $pdo->exec('set names utf8'); $stmt = $pdo->prepare("select * from table where id =:id"); $stmt->bindValue(':id',1,PDO::PARAM_INT); $stmt->execute(); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); $rows = $pdo->query("select * from table where id = 1")->fetchAll(PDO::FETCH_ASSOC);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM