Как вы подключаете / извлекаете данные из базы данных MYSQL, используя объекты в PHP? - PullRequest
1 голос
/ 09 ноября 2008

Обычно я подключаю и извлекаю данные стандартным способом (проверка простоты удалена для простоты):

$db = mysql_select_db("dbname", mysql_connect("host","username","passord"));
$items = mysql_query("SELECT * FROM $db");

while($item = mysql_fetch_array($items)) {
    my_function($item[rowname]);
}

Где my_function делает некоторые полезные вещи с этой конкретной строкой.

Что такое эквивалентный код с использованием объектов?

Ответы [ 2 ]

3 голосов
/ 09 ноября 2008

Начиная с версии 5.1, PHP поставляется с драйвером PDO, который предоставляет класс для подготовленных операторов.

$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password); //connect to the database
//each :keyword represents a parameter or value to be bound later
$query= $dbh->prepare('SELECT * FROM users WHERE id = :id AND password = :pass');

# Variables are set here.
$query->bindParam(':id', $id); // this is a pass by reference 
$query->bindValue(':pass', $pass); // this is a pass by value

$query->execute(); // query is run

// to get all the data at once
$res = $query->fetchall();
print_r($res);

см. Драйвер PDO на php.net

Обратите внимание, что этот способ (с подготовленными инструкциями) автоматически исключит все, что должно быть, и является одним из самых безопасных способов выполнения запросов mysql, если вы используете binbParam или bindValue.

Существует также расширение mysqli для выполнения аналогичной задачи, но лично я нахожу, что PDO чище.

То, что вы можете сделать, используя все эти шаги, возможно, является лучшим решением, чем что-либо еще, когда дело доходит до PHP.

Затем вы можете использовать $ query-> fetchobject , чтобы получить ваши данные как объект.

2 голосов
/ 09 ноября 2008

Вы можете использовать mysql_fetch_object ()

http://is2.php.net/manual/en/function.mysql-fetch-object.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...