Вот сижу и пытаюсь понять а в чем же разница (концептуально) между PDO и MySQLi.
Тут же на хабре нашел интересную статью habrahabr.ru/post/141127/
И первый же момент
Выбирать нужно было между MySqli и PDO. После не очень длительного изучения решил остановиться на MySqli, так как, как мне тогда казалось, он полностью идентичен PDO, за исключением того, что нет возможности отказаться от MySQL в пользу чего-то другого. Как я напишу ниже это не совсем так, минимум одно заметное отличие есть.
MySqli рекомендован к использованию самими разработчиками PHP.[1]
Вот и не пойму? Это холивары такие: мы за PDO, MySQLi — г-но?
Хотя вот все же не пойму, вот кусок из PDO Manual
$sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
foreach ($conn->query($sql) as $row) {
print $row['name']. "\t";
print $row['color']. "\t";
print $row['calories']. "\n";
}
так в чем же разница от MySQLi?
MySQLi делает тоже самое.
— все равно писать свои запросы
— все равно делать выборки и обрабатывать их
— все равно есть Statement
Я с вами согласен здесь совершенно отсутствует реализация защиты. Собственно это планирую внедрить в следующей доработке.
Однако на ваш пример отвечаю: в ответ на запрос www.example.com/api/?apitest.getApiEngineByName=test
Сервер вернет вот такой ответ:
{«response»:{},«error»:«Method getApiEngineByName does not exist»}
Тут же на хабре нашел интересную статью
habrahabr.ru/post/141127/
И первый же момент
Выбирать нужно было между MySqli и PDO. После не очень длительного изучения решил остановиться на MySqli, так как, как мне тогда казалось, он полностью идентичен PDO, за исключением того, что нет возможности отказаться от MySQL в пользу чего-то другого. Как я напишу ниже это не совсем так, минимум одно заметное отличие есть.
MySqli рекомендован к использованию самими разработчиками PHP.[1]
Вот и не пойму? Это холивары такие: мы за PDO, MySQLi — г-но?
Кстати полностью согласен с комментом:
habrahabr.ru/post/141127/#comment_4718702
$sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
foreach ($conn->query($sql) as $row) {
print $row['name']. "\t";
print $row['color']. "\t";
print $row['calories']. "\n";
}
так в чем же разница от MySQLi?
MySQLi делает тоже самое.
— все равно писать свои запросы
— все равно делать выборки и обрабатывать их
— все равно есть Statement
Такой стиль был навеян системой IP.Board.
Дальше планирую написать как осуществлять взаимодействие с этим API с клиентских устройств. В таком порядке: iOS, Android, WP7.
Но наверное не очень понял к чему это?
HP Data Objects (PDO) — расширение для PHP, предоставляющее разработчику простой и универсальный интерфейс для доступа к различным базам данных.
Я не ставил целью написать API для работы с БД. Например картинка в последнем методе не делает запросов к базе.
Однако на ваш пример отвечаю: в ответ на запрос
www.example.com/api/?apitest.getApiEngineByName=test
Сервер вернет вот такой ответ:
{«response»:{},«error»:«Method getApiEngineByName does not exist»}