Первый раз решил использовать PDO и столкнулся с ошибкой Ошибка:Fatal error: Call to a member function query() on a non-object in... index.php Код (PHP): require('db.php'); global $db; $stmt = $db->query('SELECT * from users'); $rows = $stmt->fetchAll(); $count = count($rows); foreach($rows as $row) { print_r($row); } db.php Код (PHP): class db{ function __construct(){ try { global $config; $db = new PDO("mysql:host=".$config['db_host'].";dbname=".$config['db_name'], $config['db_user'], $config['db_pass']); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->exec("set names utf8"); } catch(PDOException $e) { echo $e->getMessage(); } } } PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Ахах,вообще вернёмся к ошибке,я так понял,что он не видит функцию query,наверное потому что я не объявил класс,но я и так пытался,всё равно ошибка.
а всё потому что не внимательно читаешь материал... объявил только тут переменную $db как глобал и всё... На этом думаешь хватит??
вот тебе мой совет - по видимому ты еще рано полез в ООП... Всё слил в один унитаз... Разберись с процедурным, потом уже мелкими шагами в ООП
ну дык отладка типа переменной db что дает? или ты не умеешь отладку делать. смотри тебе уже не первый человек говорит что ты не готов к тому что ты делаешь. может уже тормознуть да правильной дорогой пойти?
ты локально вызываешь $db в методе-конструкторе, вот поэтому там у тебя запрос и выполняется... но когда ты вызываешь $db за пределами своего класса - php начинает читать тебе натации Fatal error: Call to a member function query() on a non-object in...
давай уже с самого начала мануал почитай а? ну реально. если такая каша на базисе то что ты потом будешь дальше-то делать?
молодец что - пытался объявлять класс.... Но этих знаний в этом примере не достаточно пока... Исправить это можно только с полным пониманием - глобальные переменные, объекты класса, вызовы методов класса