windows - mysql_select_db - uncaught error call to undefined function mysql_connect() solucion
Llamada a la función indefinida mysql_connect (13)
Antecedentes sobre mi (similar) problema:
Me pidieron que corrigiera un proyecto PHP, que utilizaba etiquetas cortas. El archivo short_open_tag = off
mi servidor WAMP tenía short_open_tag = off
. Para ejecutar el proyecto por primera vez, modifiqué esta configuración a short_open_tag = off
.
PROBLEMA Apareció: Inmediatamente después de este cambio, todas mis llamadas a mysql_connect () fallaron. Arrojó un error
error fatal: llamada a la función no definida mysql_connect.
Solución: Simplemente short_open_tag = off
.
Acabo de instalar PHP y Apache en la PC de mi casa. Cuando intento llamar a la función mysql_connect
obtengo:
fatal error: call to undefined function mysql_connect.
He cargado php.ini donde tengo líneas sin comentarios extension=php_mysql.dll
y extension=php_mysqli.dll
y extension=php_mysqli.dll
cambiado el directorio de extension_dir = "C:/php/ext"
a extension_dir = "C:/php/ext"
, que es el directorio donde se encuentran los archivos php_mysql.dll y php_mysqli. dll son ¿Como puedo solucionar este problema?
Salida de phpinfo (): http://jsfiddle.net/MMTwA/
Asegúrese de haber editado php.ini en la carpeta / php, perdí todo el día para detectar un error y finalmente encontré que edité php.ini en una ubicación incorrecta.
Creo que deberías usar mysqli_connect en lugar de mysql_connect
Desde mysql_connect, esta extensión quedó obsoleta en PHP 5.5.0 y se eliminó en PHP 7.0.0. En su lugar, se debe usar la extensión MySQLi o PDO_MySQL. Por defecto, xampp no lo carga automáticamente.
en su archivo php.ini debe descomentar
;; extension=php_mysql.dll
a
extension=php_mysql.dll
Luego reinicia tu apache, deberías estar bien.
Después de cambiar nuestro php.ini, asegúrese de reiniciar el servidor web Apache.
Después de mirar su salida de phpinfo()
, parece que las extensiones mysql no se están cargando. Sospecho que podría estar editando el archivo php.ini incorrecto (puede haber varias copias). Asegúrese de que está editando el archivo php en C: / php / php.ini (también verifique que no haya una segunda copia en C: / Windows).
Además, debe revisar sus registros de Apache para detectar errores (debe estar en el directorio / logs / en su instalación de Apache).
Si no ha leído lo siguiente, echaría un vistazo a la sección de comentarios, porque parece que muchas personas experimentan peculiaridades al configurar esto. Algunos comentaristas ofrecen soluciones que utilizaron para que funcionara.
http://php.net/manual/en/install.windows.extensions.php
Otra solución común parece ser copiar libmysql.dll y php_mysql.dll de c: / PHP a C: / Windows / System32.
Este mismo problema me volvió loco (Windows 10, Apache 2.4, MySql 5.7). Por alguna razón (probablemente relacionado con PATH), los .dlls no se cargarían después de descomentar las dlls de extensión correctas y extension_dir = "ext" en php.ini. Después de probar varias cosas, simplemente cambié "ext" para usar la ruta completa del directorio. Por ejemplo. extension_dir = "c: / phpinstall / ext" y funcionó.
Hola, recibí este error porque omití el símbolo (&) en
; php.ini
error_reporting = E_ALL & ~E_DEPRECATED
Mi PC ejecuta Windows 7 (Apache 2.2 y PHP 5.2.17 y MySQL 5.0.51a), la sintaxis en el archivo "httpd.conf" (C: / Archivos de programa (x86) / Apache Software Foundation / Apache2.2 / conf / httpd.conf) fue sensible a las barras diagonales. Puede verificar si "php.ini" se lee desde el directorio correcto. Simplemente escriba en su navegador "localhost / index.php". El código de index.php es el siguiente:
<?php echo phpinfo(); ?>
Hay una fila (no lejos de la parte superior) llamada "Archivo de configuración cargado". Por lo tanto, si no se agrega nada, entonces el problema podría ser que su "php.ini" no se lea, incluso usted no comenta (extensión = php_mysql.dll y extensión = php_mysqli.dll). Entonces, para que funcione, hice el siguiente paso. Necesitaba cambiar de
PHPIniDir ''c:/PHP/'
a
PHPIniDir ''c:/PHP''
¡Pon atención a que la última barra lo perturbara todo!
Ahora la fila "Archivo de configuración cargado" obtiene "C: / PHP / php.ini" después de actualizar "localhost / index.php" (antes de reiniciar Apache2.2), así como el bloque mysql. MySQL y PHP están trabajando juntos!
Probablemente haya olvidado reiniciar apache / wamp / xamp / cualquier servidor web que use, debe hacerlo para que funcione.
Revisa tu php.ini, estoy usando Apache2.2 + php 5.3. y tuve el mismo problema y después de modificar el php.ini para configurar el directorio de bibliotecas de PHP, funcionó correctamente. El problema es el valor de configuración predeterminado de extension_dir
.
El valor predeterminado (y MAL) para mi entorno de trabajo es
; extension_dir="ext"
Sin ningún camino completo y comentado con un punto y coma.
Hay dos soluciones que funcionaron bien para mí.
1.- Incluyendo esta línea en el archivo php.ini.
extension_dir="X:/[PathToYourPHPDirectory]/ext
Donde X: es la instalación de la letra de tu unidad (normalmente C: o D:)
2.- Puedes intentar simplemente descomentar, eliminando el punto y coma. Incluir la siguiente línea en el archivo php.ini
extension_dir="ext"
Ambas formas funcionaron bien para mí, pero elige la tuya. No olvides reiniciar Apache antes de volver a intentarlo.
Espero que esto te ayude.
Solo para futuras referencias, no es necesario copiar todos estos archivos de extensión a Windows / System o Windows / System32.
Todo lo que se requiere es una copia del archivo php.ini que edite en el directorio PHP para copiarlo en el directorio raíz de Windows.
phpinfo explicará claramente lo siguiente: Archivo de configuración (php.ini) Ruta C: / Windows
El sentido lógico explicará que php quiere cargar una configuración ubicada en el directorio de Windows. :-)
Una vez tuve un problema al usar Off
lugar de off
. Y también compruebe los pads una vez más ... El camino debe ser exacto. También agregue la siguiente línea a su variable ambiental.
C:/your-apache-path/bin; C:/your-php-path/bin;C:/your-mysql-path/bin
Si está en Windows, haga clic con el botón derecho en Mi PC , seleccione Propiedades y navegue a la pestaña Avanzadas ... (es Windows 7). Primero haga clic en Configuración avanzada del sistema, luego seleccione la pestaña Avanzado y luego las variables Ambientales . Seleccione PATH y haga clic en Editar. Haga una copia de la cadena en un archivo .txt para hacer una copia de seguridad (puede estar vacía) --- establezca sus variables de entorno ... Cierre la sesión y vuelva a iniciarla.