Есть ли способ использовать подготовленные операторы с обычными функциями PHP - SQL?
Только если поддерживается обычными функциями.Дряхлое расширение "mysql" не предоставляет эту функциональность.Некоторые другие делают, например, для PostgreSQL.
Установлен ли mysqli по умолчанию при установке PHP?(PHP 5.2 и выше)
Это не подлежит ответственности, так как это зависит от того, как был скомпилирован PHP (если это пользовательская установка), или был ли он установлен через менеджер пакетов.Если он был установлен через менеджер пакетов, то вполне вероятно, что вся поддержка базы данных может быть в необязательном дополнительном пакете.Однако, если поддержка mysql в целом включена, расширение mysqli должно быть доступно.
Установлен ли PDO по умолчанию в PHP 5.2 и выше?
Тот же ответ, что и раньше - это зависит от того, как был установлен PHP.Он включен по умолчанию при компиляции, но он может быть недоступен в зависимости от управления пакетами.
В целом, вы можете рассчитывать на то, что PDO будет доступен в большинстве случаев времени.,Если это не так, то это будет либо надзор от имени системного администратора, либо намеренное решение отключить его с помощью менеджера идиотов.
lot современного PHP создается с учетом того, что PDO будетбудь там.Создание адаптеров для PDO и mysqli не слишком слишком , так как оба имеют обычно похожих наборов функций.Просто следите за странным, странным способом, которым bind_param
работает - он ожидает один вызов со всеми связываемыми вещами, по ссылке .Это имеет тенденцию отключать людей.
Другой вариант: вместо того, чтобы строить поверх PDO, создайте поверх другой оболочки.Я не хочу, чтобы на вас было все начало, но взгляните на Zend_Db .Да, я знаю, что вы не хотите использовать фреймворк, но все равно посмотрите на него.Он имеет адаптеры для различных разновидностей PDO, mysqli, Oracle и DB2.Он также довольно всеобъемлющий, и построитель запросов (Zend_Db_Select) довольно удобен.
В этой области есть много других опций, например старый добрый PEAR MDB2 , который использует эмуляцию для подделки подготовленных операторов и заполнителей.