2010-05-20 64 views
3

我正在閱讀PHP和mySQL網頁開發書籍,至今一直在使用過程式來完成所有PHP和MySQL。但後來它談到了使用對象訪問mysql。初學者有關使用OOP訪問mysql的問題

This works for me: 
//I define $db so can connect 
$query="select * FROM testing"; 
$result=mysqli_query($db,$query); 
while($row=mysqli_fetch_array($result)){ 
    //echo the data 
} 

But when I try to do it with classes, it doesn't 
@ $db=new mysqli('localhost','root','','test'); 
if(mysqli_connect_errno()){ 
echo "ERROR:"; 
exit; 
} 
$query="select * FROM testing"; 
$result=$db->query($query); 
$row=$result->fetch_assoc(); 

我是否必須編寫自己的類,以便定義查詢和fetch_assoc的功能?或者是什麼?

+1

有什麼錯誤訊息? – gurun8 2010-05-20 03:30:36

+1

顯示設置$ db的代碼 – Galen 2010-05-20 03:33:50

+0

是的,你能告訴我們你是如何設置$ db的嗎? – 2010-05-20 03:34:01

回答

1

你應該建立$db是這樣的:

$db = new mysqli("db_server", "db_username", "db_password", "db_name"); 
+0

這樣做OOP不需要我寫一個類嗎?我假設$ result = $ db-> query($ query);會知道什麼 - >呢? – jpjp 2010-05-20 03:41:39

+0

'mysqli'類應該已經存在,並且它應該在構建時連接。它看起來像你的語法是正確的,你正在運行哪個版本的PHP? – 2010-05-20 03:43:34

+0

我正在運行5.3.1。看起來當我使用fetch_row($ result)時會拋出一個錯誤,但是當我使用fetch_assoc()時它會起作用。順便說一句,感謝您的幫助! – jpjp 2010-05-20 03:46:19