2010-05-20 2 views
3

Я читаю PHP и mySQL веб-книгу разработки и до сих пор делал все PHP и mysql с помощью процедурного. Но тогда он говорит о доступе к mysql с объектами.Вопрос начинающего пользователя о доступе к mysql с использованием OOP

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

+1

показать код, который устанавливает $ db – Galen

+0

Да и не могли бы вы показать нам, как вы настраиваете $ db? –

ответ

1

Вы должны быть настройки $db что-то вроде этого:

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

Выполнение этого ООП не требует, чтобы я писал класс, не так ли? Я должен предположить, что $ result = $ db-> query ($ query); будет знать, что -> делает? – jpjp

+0

Класс 'mysqli' должен уже существовать, и он должен соединяться при построении. Похоже, ваш синтаксис верен, какая версия PHP вы используете? –

+0

Я бегу 5.3.1. Кажется, когда я использую fetch_row ($ result), он выдает ошибку, но когда я использую fetch_assoc(), он работает. Btw, спасибо за вашу помощь! – jpjp

Смежные вопросы