Esta sección contiene preguntas comunes sobre la relación entre PHP y bases de datos. Sí, PHP puede acceder a prácticamente cualquier base de datos disponible hoy en día.
En máquinas Unix se puede usar PDO_ODBC o la API ODBC Unificada.
En máquinas Windows se puede usar PDO_SQLSRV o SQLSRV.
Consulte también la respuesta de la siguiente pregunta.
Si. Usted ya dispone de todas las herramientas necesarias si está corriendo enteramente bajo Windows 9x/Me, o NT/2000, en donde es posible utilizar ODBC y los controladores ODBC para bases de datos Microsoft Access.
Si está corriendo PHP en una máquina Unix y desea comunicarse con MS Access en Windows, necesitará controladores ODBC para Unix. » OpenLink Software tiene controladores ODBC basados en Unix que tienen esa capacidad.
Otra alternativa consiste en usar un servidor SQL que tenga controladores ODBC Windows y usarlo para almacenar los datos, a los cuales puede acceder desde Microsoft Access (usando ODBC) y PHP (usando los controladores incorporados), o usar un formato de archivo intermedio que Access y PHP entiendan, como archivos planos o bases de datos dBase. Sobre este punto, Tim Hayes de OpenLink Software escribe:
Usar otra base de datos como intermediario no es una buena idea, cuando es posible usar ODBC desde PHP directamente a su base de datos, es decir, con los controladores de OpenLink. Si realmente necesita usar un formato de archivo intermedio, OpenLink ha lanzado ahora Virtuoso (un motor de bases de datos virtual) para NT, Linux y otras plataformas Unix. Por favor visite nuestro » sitio web para una descarga gratuita.
Una opción que ha sido probada con éxito es usar MySQL y sus controladores MyODBC en Windows y sincronizar las bases de datos. Steve Lawrence escribe:
Consejos y Trucos:
Existen tres extensiones de MySQL, como está descrito en la sección Elegir una API de MySQL. No se debe usar la API antigua, está obsoletea a partir de PHP 5.5.0 y ha sido movida a PECL a paritr de PHP 7.0.0. Se recomienda encarecidamente escribir todo el código nuevo con mysqli o PDO_MySQL.
La migración de los scripts no está disponible por el momento, aunque la API mysqli API contiene tanto una API procedimental como una API POO, siendo la versión procedimental similar a ext/mysql.
No es posible mezclar extensiones. Así, por ejemplo, pasar una conexión mysqli a PDO_MySQL o ext/mysql no funcionará.
Está intentando usar un identificador de resultado que es 0. El 0 indica que su consulta falló por alguna razón. Necesita verificar errores después de enviar una consulta y antes de que intente usar el identificador de resultado devuelto. La manera apropiada de hacerlo es con un código similar al siguiente:
<?php
$resultado = mysql_query("SELECT * FROM tablas_priv");
if (!$resultado) {
echo mysql_error();
exit;
}
?>
<?php
$resultado = mysql_query("SELECT * FROM tablas_priv")
or die("Consulta fallida: " . mysql_error());
?>