本文目錄一覽:
PHP7連接mysql數據庫方法
1、用 mysql_connect 的方法,PHP7會報致命錯誤
$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()函數進行連接,但實際上,PHP5.5開始,MySQL就不推薦使用了,屬於廢棄函數
PHP7中貌似已經徹底不支持了,根據官網說明,取而代之的是如下兩個:
本擴展自 PHP 5.5.0 起已廢棄,並在將來會被移除。應使用 MySQLi 或 PDO_MySQL 擴展來替換之。參見 MySQL:選擇
API 指南以及相關 FAQ 以獲取更多信息。用以替代本函數的有:
mysqli_connect()
PDO::__construct()
使用時,不要在使用mysql_connect了,可以換用mysqli_connect(),用法基本類似吧,據說是面向對象的庫。
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll這個拓展了。
2、可以使用mysqli,對象化,方法名與被廢棄的類似
$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);
不填寫參數的話,默認是關聯和索引都有,如下圖
PHP7.0怎麼通過打開擴展功能和mysql相連?
第一步:進入php源碼中的”ext/mysql”目錄下
第二步:在當前目錄下運行phpize命令:/usr/local/php524/bin/phpize
phpize的規則:去哪個目錄下運行phpize文件,那麼就會在該目錄下生成一個configure文件。
第三步:運行剛才生成的configure文件
命令: ./configure –with-php-config=/usr/local/php524/bin/php-config –with-mysql=/usr/local/mysql/
這裡最關鍵的是通過–with-mysql參數告訴mysql客戶端的位置。這樣才能生成mysql.so。
實驗的時候,沒有加這個參數,結果錯誤:
./configure –with-php-config=/usr/local/php524/bin/php-config
第四步:編譯生成.so文件
第五步:配置php引擎加載該擴展。
補充一下:就是去php.ini文件中修改一下配置,加載mysql.so這個擴展(這個擴展文件要放到php指定的擴展目錄下面去)
第六步:測試php引擎是否成功加載該擴展編寫文件phpinfo.php,內容是:?php ehco phpinfo(); ?
運行後,可以看到有如下信息顯示: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
通過這樣的方式可以確認,php引擎已經成功加載了mysql.so擴展。
第七步:已經生成的mysql.so。編寫php代碼測試是否能連接mysql。
一、為什麼書中一般是常常是這樣的順序安裝。
先安裝mysql,然後再安裝php,很少看到先安裝php,後安裝mysql?
這樣做。是基於下面原因:安裝好mysql後。mysql.so這個模塊才能生成。記得一個細節:在安裝php的時候,需要提供mysql的路徑。由php幫助編譯生成mysql.so模塊。mysql.so這個模塊是在安裝好php的時候生成的。
生成這個模塊需要用到一個東西:mysql客戶端。如果先安裝php,後安裝mysql。那麼無法按照原來的方式(由php幫助生成mysql.so模塊)掛接mysql.so。通過實踐,發現使用phpize工具生成mysql.so可以解決這個問題。
二、實踐生成mysql.so的過程。
大體思路:需要用到php的源碼包才行。通過源碼包中提供的phpize文件(一個專門掛接php擴展的工具)
如何在PHP7中安裝mysql的擴展
你好,
1.去php網站上下載mysql擴展,
2.解壓並使用phpize工具初始化,編譯:
#解壓
tar xzvf mysql-45881bd.tar.gz
#進入mysql擴展目錄 from
cd mysql-45881bd/
#使用phpize初始化,我的phpize在/opt/目錄
/opt/php/bin/phpize
#編譯mysql擴展,使用mysql native driver作為mysql鏈接庫
./configure –with-php-config=/opt/php/bin/php-config –with-mysql=mysqlnd
make make install
3.接下來,我們直接編輯php.ini文件,把mysql.so拷貝到php.ini的extension_dir中,然後在php.ini中加入extension=mysql.so
4.重啟php
成功之後,用phpinfo即可看到mysql擴展的信息
如何編譯搭建php7+nginx+mysql
在Windows下配置搭建PHP環境的步驟:
一、準備工作-下載所需軟件
Apache httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
PHP php-5.3.10-Win32-VC9-x86.zip
MySQL mysql-5.5.20-win32.msi
二、安裝軟件
1、安裝Apache: 雙擊安裝,與安裝其他Windows軟件沒有什麼區別,在填Server Infomation時,並沒有特殊規定,只要輸入的信息符合格式即可。
安裝完成之後,在瀏覽器輸入,如果顯示It Works!,表示Apache安裝成功。
2、安裝PHP:將php-5.3.10-Win32-VC9-x86.zip解壓到一個目錄即可。
3、安裝MySQL:雙擊安裝,如果需要更改安裝目錄,則在Choose Setup Type選擇Custom
安裝完成後開始配置MySQL,全部保持默認選項即可,但最好把MySQL默認編碼改為utf8,在Modify Security Settings選項中設置密碼,輸入兩次密碼即可完成,最後點Execute完成配置。
三、整合Apache+PHP+MySQL
Apache : 首先修改Apache的配置文件,讓Apache支持解析PHP文件。Apache配置文件在Apache安裝目錄的conf目錄下的httpd.conf。
1. 讓Apache可以解析php文件,在配置文件中找到
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
在下一行添加 (綠色的位置是根據PHP的所在目錄而定的)
LoadModule php5_module “D:/Develop/PHP/php5apache2_2.dll”PHPIniDir “D:/Develop/PHP”AddType application/x-httpd-php .php .html .htm
2. 在配置文件中找到
DirectoryIndex index.html
改為
DirectoryIndex index.php index.html
3. 修改Apache站點目錄,在配置文件中找到(Apache安裝的目錄不同,顯示的值不一樣)
DocumentRoot “D:/Develop/Apache2.2/htdocs”
改為
DocumentRoot “D:/Workspace/PHP”
再找到
Directory “D:/Develop/Apache2.2/htdocs”
改為
Directory “D:/Workspace/PHP”
PHP : 把php.ini-development改名為php.ini,作為PHP的配置文件。修改php.ini
1. 設置PHP擴展包的具體目錄,找到
; On windows:; extension_dir = “ext”
改為 (值是ext文件夾的目錄)
; On windows: extension_dir = “D:/Develop/PHP/ext”
2. 開啟相應的庫功能,找到需要開啟的庫的所在行
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_xmlrpc.dll
去掉前面的分號(注釋),即改為
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_xmlrpc.dll
3. 設置時區,找到
;date.timezone =
改為
date.timezone = Asia/Shanghai
配置完成,檢測一下配置是否成功。重啟Apache,在站點目錄下新建文件index.php,輸入內容。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/244744.html