uncaught solucion mysql_select_db mysql_query mysql_connect llamada función fatal error detectado definida php mysql ubuntu mysql-connect undefined-function

php - solucion - llamada a la función no definida mysql_connect()



Función no definida mysql_connect() (13)

He ejecutado aptitude install php5-mysql (y reinicié MySQL / Apache 2), pero sigo recibiendo este error:

Error fatal: llamada a la función indefinida mysql_connect () en /home/validate.php en la línea 21

phpinfo() dice que el archivo phpinfo() ha sido analizado.


(Windows mysql config)

Paso 1: vaya a Panel de control de Apache> Apache> Config> PHP.ini

Paso 2: Buscar en el Bloc de notas (Ctrl + F) Para ;extension_dir = "" (podría comentarse con a ; ). Reemplace esta línea con: extension_dir = "C:/php/ext" (no necesita eliminar el ; al principio de la oración).

Paso 3: Busque: extension=php_mysql.dll y elimine el ; al principio.

Paso 4: guarde y reinicie su Servidor Apache HTTP. (En Windows esto generalmente se hace a través de una IU)

Eso es :)

Si recibe errores acerca de la falta de php_mysql.dll , probablemente necesite descargar este archivo del sitio php.net o pecl.php.net. (Por favor, haz un causio sobre de donde lo obtienes)

Más información sobre PHP: instalación de extensiones en Windows - Manual


Bien, ¡ésta es tu oportunidad! Parece que PDO está listo; usar eso en cambio.

Intente verificar si el módulo de extensión PHP MySQL se está cargando:

<?php phpinfo(); ?>

Si no está allí, agregue lo siguiente al archivo php.ini :

extension=php_mysql.dll


Debe haber algún error de sintaxis. Copie / pegue este código y vea si funciona:

<?php $link = mysql_connect(''localhost'', ''root'', ''''); if (!$link) { die(''Could not connect:'' . mysql_error()); } echo ''Connected successfully''; ?

Tuve el mismo mensaje de error. Resulta que estaba usando la función msql_connect() lugar de mysql_connect() .


En caso de que ya esté utilizando PHP7, las funciones anteriormente obsoletas mysql_* se eliminaron por completo, por lo que debe actualizar su código utilizando las funciones PDO o mysqli_* lugar.

Si eso no es posible, como solución alternativa , creé un pequeño archivo de inclusión, que recrea las funciones anteriores con mysqli_*() -functions: fix_mysql.inc.php


En el archivo php.ini

cambia esto

;extension=php_mysql.dll

dentro

extension=php_mysql.dll


La pregunta está etiquetada con ubuntu , pero la solución de extension=mysqli.dll el comentario de la extension=mysqli.dll es específica de Windows. Estoy confundido aquí?!, De todos modos, primero correr <? php phpinfo ?> <? php phpinfo ?> y busque mysql* en el encabezado Configuration . Si no ve algo así, significa que no ha instalado o habilitado php-mysql . Entonces primero instala php-mysql

sudo apt get install php-mysql

Este comando instalará php-mysql dependiendo del php que ya hayas instalado, ¡así que no te preocupes por la versión!

Luego viene la solución específica de Unix, en el archivo php.ini para dejar de comentar la línea

extension=msql.so

verificar que msql.so esté presente en /usr/lib/php/<timestamp_folder> , ELSE

extension=path/to/msql.so

Entonces, finalmente reinicie los servicios apache y mysql , y ahora debería ver la sección mysql en el encabezado phpinfo page en la phpinfo page


Recibí este error porque el proyecto en el que estaba trabajando se desarrolló en php 5.6 y después de la instalación, el proyecto no se pudo ejecutar en php7.1.

Solo para cualquiera que use Vagrant con ubuntu / nginx, en el directorio nginx (/ etc / nginx /), hay un directorio llamado "sites-available" que contiene un archivo con el nombre de la url configurada para el vagabundo maschine. En mi caso fue homestead.app. Dentro de este archivo hay una línea que dice algo así como

fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;

Allí puede cambiar la versión de php a la deseada para ese sitio en particular.

Busqué en Google esto pero no pude encontrar una respuesta simple que dijera dónde buscar y qué cambiar.

Espero que esto ayude a cualquiera. Gracias.


Si alguien vino aquí con el problema de las imágenes oficiales de docker php , escriba debajo del comando dentro del contenedor de la ventana acoplable.

$ docker-php-ext-install mysql mysqli pdo pdo_mysql

Para obtener más información, consulte el enlace anterior How to install more PHP extensions secciones de How to install more PHP extensions (Pero es un poco difícil para mí ...).

O este documento puede ayudarte.

https://docs.docker.com/samples/library/php/


Si obtiene el error como

Error fatal: llamada a la función no definida mysql_connect ()

Sírvase iniciar sesión en cPanel >> Haga clic en Seleccionar versión Php >> seleccione la extensión MYSQL


Supongo que tu instalación de PHP no fue compilada con soporte MySQL.

Compruebe su comando de configuración ( php -i | grep mysql ). Debería ver algo como ''--with-mysql=shared,/usr'' .

Puede verificar las instrucciones completas en http://php.net/manual/en/mysql.installation.php . Aunque, preferiría ir con la solución propuesta por @wanovak.

Aún así, creo que necesita soporte de MySQL para poder usar PDO.


También me encontré con el mismo problema de indefinido MySQL_connect (). Traté de hacer cambios en el archivo PHP.ini pero me estaba dando el mismo error. Luego llegué a esta solución donde cambié mi código de funciones php depreciadas a nuevas funciones.

$con=mysqli_connect($host,$user,$password); mysqli_select_db($con,dbname); //To select the database session_start(); //To start the session $query=mysqli_query($con,your query); //made query after establishing connection with database.

Espero que esto ayude . Esta solución funciona correctamente para mí.


Tratar:

<?php phpinfo(); ?>

Ejecute la página y busque mysql . Si no se encuentra, ejecute lo siguiente en el shell y reinicie el servidor Apache:

sudo apt-get install mysql-server mysql-client php5-mysql

También asegúrese de tener todas las siguientes líneas sin comentar en algún lugar de su archivo apache2.conf (o en su conf.d / php.ini), desde

;extension=php_mysql.so

a

extension=php_mysql.so


Veo que etiquetó esto con Ubuntu. Lo más probable es que el controlador MySQL (y posiblemente MySQL) no esté instalado. Suponiendo que tiene acceso SSH o terminal y permisos sudo, inicie sesión en el servidor y ejecute esto:

sudo apt-get install mysql-server mysql-client php5-mysql

Si los paquetes de MySQL o el paquete php5-mysql ya están instalados, esto los actualizará.

ACTUALIZAR

Como esta respuesta todavía recibe un clic ocasional, la actualizaré para incluir PHP 7 . PHP 7 requiere un paquete diferente para MySQL, por lo que querrá usar un argumento diferente para el comando apt-get.

sudo apt-get install mysql-server mysql-common php7.0 php7.0-mysql

Y, lo que es más importante, mysql_connect() ha quedado en desuso desde PHP v5.5.0. Consulte la documentación oficial aquí: PHP: mysql_connect ()