在php 5 1 4中使用mysqli

2021-04-27 08:42:16 字數 2181 閱讀 5031

在php-5.1.4中使用mysqli

我一直都在用php4,很少接觸php5。由於學習的需要,慢慢去接觸了php5,了解了php5的物件導向,mysql i擴充套件庫,spl及pdo等等新的特性。請別笑,我對php5接觸得還是比較少。

為了能夠使用php5,我搭建了php-5.1.4   mysql-5.0.22  iis-5.1執行環境,安裝php及mysql的資料比較多,這裡不重複了。

我高階的第乙個目標就是mysqli,為了使用mysqli,你得在php.ini裡增加一行extension=php_mysqli.dll,這個dll內建在php5.1.4的ext資料夾裡,重啟www服務即可以使用mysqli擴充套件庫了(部份使用者可能需要重啟)。

配置完後,使用mysqli的物件導向程式設計方式編寫如下**:

code:

<?php

$db 

= new 

mysqli

("localhost"

,"root"

,"123456"

,"test"

);$db

->

set_charset

("utf8"

);$rs 

= $db

->

query

("select * from `gallery_ablum`"

);while(

$row 

= $rs

->

fetch_assoc

())$rs

->

close

();$db

->

close

();?>

興沖沖的放在**下執行該**,結果卻發現指令碼有錯誤「使用了未定義的set_charset函式」,難道pphp5.1.x不再支援mysqli?於是我注釋了第二行,結果卻發現,程式是成功執行成功的!我很開心,終於可以顯示資料了,雖然有一部份資料是亂碼(亂碼是因為我用了utf8編碼,而mysqli連線預設用了laint1)

接下來我一口氣試了mysqli裡的函式,結果發現大部份還是可用的。但字符集的問題就不可以解決了嗎?如果不能解決,對用其它資料庫編碼的的程式,就不能使用了。於是我試試將第二行的語句換成$db->query("set names utf8");,執行成功,卻沒能像我預期中的那樣解決了亂碼,使用echo $db->character_set_name();檢視當前的編碼,還是laint1。

connector的安裝很簡單,停止www服務覆蓋根目錄下的libmysql.dll及ext目錄下的php_mysqli.dll檔案即可。

當我開心的開啟瀏覽器執行前面的**時,卻出現「unable to load dynamic library php_mysqli.dll ,無法載入」的錯誤。我即刻暈倒。難道php與mysql真的是不是冤家不對頭嗎?

我還是很不情願,不甘心這樣放棄我的php5之路,於是我上google查資料,搜尋出來的結果比較一致的說法是缺少libmysql.dll,需要將這個庫放到php路徑裡或system32裡。我的php目錄裡明明有libmysql.dll呀(這個libmysql.dll是mysql connector裡提供的),難道要放在system32裡?copy乙份libmysql.dll到system32,重啟再執行php,還是失敗。

後來我上mysql.com的技術支援里查資料,看能不能找到一些頭緒。經過大量的瀏覽後,發現有乙個人說用

depends

來查查,剛開始我還以為是乙個自行開發的軟體,作者在此作乙個廣告,不過後來我真的沒有辦法了,只有死馬當活馬醫了,上去

原因找到了,我立即就上

(注:為了方便自己的除錯,我開啟了php.ini裡的display_errors及display_startup_errors)

上面是我解決的整個過程,實質上的步驟無需這麼多,

第一次這麼認真發貼,主要是想一些剛學mysqli的朋友提供點有用的資料,而不是討論mysqli好不好的問題。由於,也很希望能與大家繼續討論下php5裡的新特性,特別是pdo及pear方面,我的郵箱zhiouzhu(at)gmail.com,歡迎你們的指點。

redis在php中,在PHP中使用redis

這裡是在mac os上安裝redis,並在php中開啟redis。在mac os上安裝redis 首先是安裝,它會預設安裝到 usr local bin下 複製 如下 cd tmp wget tar zxf redis 2.6.9.tar.gz cd redis 2.6.9 make sudo ma...

php中使用mysql介紹 PHP中使用MySQL

mysql資料庫的擴充套件 擴充套件庫基本功能相似,用法基本相同,會增加一些新的特性 mysqli擴充套件庫 只能對mysql資料庫操作 pdo擴充套件 可以操作很多態別的資料庫 wamp下修改mysql資料庫密碼 三者在建立連線上的比較 pdo需要四個引數,除了資料庫管理員名稱 密碼 host 還...

在php中使用Sphinx

要使用php連線sphinx進行全文搜尋,有兩種方式 將sphinx作為php擴充套件安裝,這種方式比較麻煩,此處不介紹 在sphinx原始碼目錄下的有個api sphinxapi.php,將此檔案reqire到你的php中,即可呼叫api方法進行全文搜尋 require sphinxapi.php...