Как конвертировать из mysql_ в PDO

Возможный дубликат:
Как успешно переписать старый код mysqlphp с устаревшими функциями mysql_ *?

Я публиковал какой-то вопрос на этом сайте, и всякий раз, когда я мог публиковать хотя бы один человек, он мог выйти и попросить меня прекратить использовать функцию mysql_, потому что она больше не поддерживается, и я не знал, что мне сказали использовать PDO: я был пытаясь понять, как это работает, чтобы я преобразовал все мои коды в него, но теперь применил его в коде и, похоже, не работает, хотя соединительная часть работает. вот что я пробовал, он работает с функцией mysql_, но не с PDO: любая помощь будет оценена.

<?php #database connection $con = new PDO('mysql:host=localhost;dbname=adnan;charset=UTF-8','root',''); $sql = $con->query("SELECT * FROM m1debtors INNER JOIN m1dtrans ON m1debtors.name = m1dtrans.user"); while ($row=$sql->fetchAll(PDO::FETCH_ASSOC)){ $ name = $row[' name ']; $ user = $row[' user ']; } // The JSON standard MIME header. header('Content-type: application/json'); $array = array('name'=>$name, 'user'=>$user); echo json_encode($array); ?> 

Преобразование вашего кода в PDO – довольно простая задача.
Единственное, что вам действительно нужно, это прочитать примеры на странице руководства (и понять их).

Поскольку вам нужна только одна строка в форме ассоциативного массива, fetch() может это сделать уже.

 $row=$sql->fetch(PDO::FETCH_ASSOC); // The JSON standard MIME header. header('Content-type: application/json'); echo json_encode($row); 

Я бы рекомендовал написать класс, который упростит использование PDO.

Тогда вы можете сделать что-то вроде этого …

 $database->query('SELECT id FROM users WHERE name = :name'); $database->bind(':name', 'Jenny'); $row = $database->single(); 

Взгляните на этот учебник для написания собственного класса.

http://culttt.com/2012/10/01/roll-your-own-pdo-php-class/