Содержание
Смотрим код ниже:
//MySQL $result = mysql_query($sql); $row = mysql_fetch_assoc($result); $row = mysql_fetch_array($result, MYSQL_ASSOC); //SQLite $result = sqlite_query($dbh, $sql); $row = sqlite_fetch_array($result, SQLITE_ASSOC); //PostgreSQL $result = pg_query($sql); $row = pg_fetch_assoc($result); $row = pg_fetch_assoc($result, 0, PGSQL_ASSOC); //PDO $stmt = $conn->query($sql); $result = $stmt->fetch(PDO::FETCH_ASSOC); $result = $stmt->fetch(PDO::FETCH_NUM); $result = $stmt->fetch(PDO::FETCH_BOTH);
В PDO мы запрос получили (query). Далее используем метод fetch: 3 разновидности констант, в зависимости о того, какой массив хотим получить: ассоциативный, нумерованный, смешаный.
Режим FETCH OBJECT
$obj = $stmt->fetch(PDO::FETCH_OBJ); //веонется объект, к нему обращаемся как к объекту echo $obj->id; echo $obj->name; echo $obj->email;
Т.е. в этом случае мы получаем не массив, а объект. Поэтому работать с ним надо соответствующим образом.
Режим FETCH LAZY
$result = $stmt->fetch(PDO::FETCH_LAZY); echo $result[0]; echo $result['name']; echo $result->email;
Для совсем ленивых людей. Это совокупность FETCH BOTH + FATCH OBJECT. Можно обращаться к результату как к массиву, как к объекту.