1、用 mysql_connect 的方法,PHP7會(huì)報(bào)致命錯(cuò)誤

公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出三江侗免費(fèi)做網(wǎng)站回饋大家。
$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang');
Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue-run() #1 {main} thrown in? /Users/xueyanxiang/work/test/xue.php ?on line? 31
原因是:
PHP5中使用mysql_connect()函數(shù)進(jìn)行連接,但實(shí)際上,PHP5.5開(kāi)始,MySQL就不推薦使用了,屬于廢棄函數(shù)
PHP7中貌似已經(jīng)徹底不支持了,根據(jù)官網(wǎng)說(shuō)明,取而代之的是如下兩個(gè):
本擴(kuò)展自 PHP 5.5.0 起已廢棄,并在將來(lái)會(huì)被移除。應(yīng)使用?MySQLi?或?PDO_MySQL?擴(kuò)展來(lái)替換之。參見(jiàn)?MySQL:選擇
API?指南以及相關(guān) FAQ?以獲取更多信息。用以替代本函數(shù)的有:
mysqli_connect()
PDO::__construct()
使用時(shí),不要在使用mysql_connect了,可以換用mysqli_connect(),用法基本類(lèi)似吧,據(jù)說(shuō)是面向?qū)ο蟮膸?kù)。
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll這個(gè)拓展了。
2、可以使用mysqli,對(duì)象化,方法名與被廢棄的類(lèi)似
$conn= mysqli_connect('localhost','xueyanxiang','xueyanxiang');
3、PDO工具,推薦使用
$dbh= "mysql:host=localhost;dbname=test";
$db= new PDO($dbh,'xueyanxiang','xueyanxiang');
$objQuery= $db-query("select * from user;");
$res= $objQuery-fetchAll(PDO::FETCH_ASSOC);
不填寫(xiě)參數(shù)的話,默認(rèn)是關(guān)聯(lián)和索引都有,如下圖
1,去php網(wǎng)站上下載mysql擴(kuò)展
2,解壓并使用phpize工具初始化,編譯:
#解壓
tar xzvf mysql-45881bd.tar.gz
#進(jìn)入mysql擴(kuò)展目錄
cd mysql-45881bd/
#使用phpize初始化,我的phpize在/opt/目錄
/opt/php/bin/phpize
#編譯mysql擴(kuò)展,使用mysql native driver作為mysql鏈接庫(kù)
./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd
make make install
5,編輯php.ini文件,把mysql.so拷貝到php.ini的extension_dir中,然后在php.ini中加入extension=mysql.so
6,重啟php
你好,
1.去php網(wǎng)站上下載mysql擴(kuò)展,
2.解壓并使用phpize工具初始化,編譯:
#解壓
tar xzvf mysql-45881bd.tar.gz
#進(jìn)入mysql擴(kuò)展目錄 from
cd mysql-45881bd/
#使用phpize初始化,我的phpize在/opt/目錄
/opt/php/bin/phpize
#編譯mysql擴(kuò)展,使用mysql native driver作為mysql鏈接庫(kù)
./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd
make make install
3.接下來(lái),我們直接編輯php.ini文件,把mysql.so拷貝到php.ini的extension_dir中,然后在php.ini中加入extension=mysql.so
4.重啟php
成功之后,用phpinfo即可看到mysql擴(kuò)展的信息
第一步:進(jìn)入php源碼中的"ext/mysql"目錄下
第二步:在當(dāng)前目錄下運(yùn)行phpize命令:/usr/local/php524/bin/phpize
phpize的規(guī)則:去哪個(gè)目錄下運(yùn)行phpize文件,那么就會(huì)在該目錄下生成一個(gè)configure文件。
第三步:運(yùn)行剛才生成的configure文件
命令: ./configure --with-php-config=/usr/local/php524/bin/php-config --with-mysql=/usr/local/mysql/
這里最關(guān)鍵的是通過(guò)--with-mysql參數(shù)告訴mysql客戶端的位置。這樣才能生成mysql.so。
實(shí)驗(yàn)的時(shí)候,沒(méi)有加這個(gè)參數(shù),結(jié)果錯(cuò)誤:
./configure --with-php-config=/usr/local/php524/bin/php-config
第四步:編譯生成.so文件
第五步:配置php引擎加載該擴(kuò)展。
補(bǔ)充一下:就是去php.ini文件中修改一下配置,加載mysql.so這個(gè)擴(kuò)展(這個(gè)擴(kuò)展文件要放到php指定的擴(kuò)展目錄下面去)
第六步:測(cè)試php引擎是否成功加載該擴(kuò)展編寫(xiě)文件phpinfo.php,內(nèi)容是:?php?ehco phpinfo();??
運(yùn)行后,可以看到有如下信息顯示:mysqlMySQLSupport ? ?enabledActive PersistentLinks ? ? 0
Active Links ? ? 0
Client API version ? ? 5.1.55
MYSQL_MODULE_TYPE ? ? no value
MYSQL_SOCKET ? ? /tmp/mysql.sock
MYSQL_INCLUDE ? ? no value
MYSQL_LIBS ? ? no value
通過(guò)這樣的方式可以確認(rèn),php引擎已經(jīng)成功加載了mysql.so擴(kuò)展。
第七步:已經(jīng)生成的mysql.so。編寫(xiě)php代碼測(cè)試是否能連接mysql。
一、為什么書(shū)中一般是常常是這樣的順序安裝。
先安裝mysql,然后再安裝php,很少看到先安裝php,后安裝mysql?
這樣做。是基于下面原因:安裝好mysql后。mysql.so這個(gè)模塊才能生成。記得一個(gè)細(xì)節(jié):在安裝php的時(shí)候,需要提供mysql的路徑。由php幫助編譯生成mysql.so模塊。mysql.so這個(gè)模塊是在安裝好php的時(shí)候生成的。
生成這個(gè)模塊需要用到一個(gè)東西:mysql客戶端。如果先安裝php,后安裝mysql。那么無(wú)法按照原來(lái)的方式(由php幫助生成mysql.so模塊)掛接mysql.so。通過(guò)實(shí)踐,發(fā)現(xiàn)使用phpize工具生成mysql.so可以解決這個(gè)問(wèn)題。
二、實(shí)踐生成mysql.so的過(guò)程。
大體思路:需要用到php的源碼包才行。通過(guò)源碼包中提供的phpize文件(一個(gè)專(zhuān)門(mén)掛接php擴(kuò)展的工具)
新聞名稱:php7怎么用mysql,PHP 7
本文來(lái)源:http://chinadenli.net/article5/dsgscoi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)頁(yè)設(shè)計(jì)公司、、商城網(wǎng)站、定制開(kāi)發(fā)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)