Recibo esta advertencia, pero el programa aún se ejecuta correctamente.
El código MySQL me muestra un mensaje en PHP:
En desuso: mysql_connect (): la extensión de mysql está en desuso y se eliminará en el futuro: use mysqli o PDO en su lugar en C: \ xampp \ htdocs \ task \ media \ new \ connect.inc.php en la línea 2
Mi connect.inc.php
pagina es
<?php
$connect = mysql_connect('localhost','root','');
mysql_select_db('dbname');
?>
¿Qué significa esto y cómo puedo eliminar el mensaje?
php
mysql
function
deprecated
Mubashar Ahmed Hassan
fuente
fuente
Respuestas:
Hay algunas soluciones a su problema.
El camino con MySQLi sería así:
Ejecutar consultas de base de datos también es simple y casi idéntico a la forma anterior:
Desactive todas las advertencias obsoletas, incluidas las de mysql_ *:
La ubicación exacta del archivo y la línea que debe reemplazarse es "/System/Startup.php> line: 2" error_reporting (E_All); reemplazar con error_reporting (E_ALL ^ E_DEPRECATED);
fuente
Puede eliminar la advertencia agregando una '@' antes de mysql_connect.
pero como le indica la advertencia, use mysqli o PDO ya que la extensión mysql se eliminará en el futuro.
fuente
Para suprimir el mensaje de desactivación solo para esto (y mantenerse informado de otras desactivaciones en su código), puede prefijar la conexión con @:
fuente
Funciones obsoletas en PHP 5.5.x
La extensión MySQL original ahora está en desuso y generará
E_DEPRECATED
errores al conectarse a una base de datos. En su lugar, use las extensiones ** MYSQLi o PDO_MySQL . **Sintaxis:
Además, reemplace todas las
mysql_*
funciones enmysqli_*
funcionesen vez de
fuente
Esta advertencia se muestra porque ha aparecido una nueva extensión. Suponga que todavía se puede utilizar el antiguo pero en algunos casos es imposible.
Te muestro cómo hago la conexión con la base de datos. Solo necesita cambiar los valores de las variables.
Mi archivo de conexión : connection.php
La extensión también cambia al realizar una consulta.
Archivo de consulta: "ejemplo.php"
De esta manera se usa MySQL Improved Extension , pero puede usar PDO (PHP Data Objects) .
El primer método solo se puede usar con bases de datos MySQL, pero PDO puede administrar diferentes tipos de bases de datos.
Voy a poner un ejemplo pero es necesario decir que solo uso el primero, así que corrígeme si hay algún error.
Mi archivo de conexión PDO: "PDOconnection.php"
Archivo de consulta (PDO): "ejemplo.php"
Para terminar solo di que por supuesto puedes ocultar la advertencia pero no es una buena idea porque puede ayudarte en el futuro a ahorrar tiempo si ocurre un error (todos conocemos la teoría pero si trabajas muchas horas a veces ... .El cerebro no está allí ^^).
fuente
Esto se debe a que está utilizando PHP 5.5 o su servidor web se habría actualizado a 5.5.0.
Las
mysql_*
funciones han quedado obsoletas a partir de 5.5.0Source
fuente
mysql_ *, está oficialmente obsoleto partir de PHP v5.5.0 y se eliminará en el futuro.
Utilice la función mysqli_ * o pdo
Lea la conversión de Oracle a MySQLi
fuente
Es solo una advertencia que le indica que comience a usar métodos más nuevos para conectarse a su base de datos, como objetos pdo
http://code.tutsplus.com/tutorials/php-database-access-are-you-doing-it-correctly--net-25338
El manual esta aqui
http://www.php.net/manual/en/book.pdo.php
fuente
La advertencia "obsoleta" en general significa que está intentando utilizar una función que no está actualizada. No significa que su código no funcione, pero debería considerar la refactorización.
En su caso, las funciones mysql_ están obsoletas. Si quieres saber más sobre eso, aquí tienes una buena explicación: ¿Por qué no debería usar las funciones mysql_ * en PHP?
fuente
Esto resolverá su problema.
fuente
La clase PDO reemplaza estos métodos. Ejemplo para Mysql o MariaDB:
Fuente: Clase PDO
fuente
Si ha hecho su codificación,
es una buena opción, pero si está comenzando, definitivamente debería usar mysqli.
fuente
Bueno, ¡acabo de enfrentar ese mensaje hoy cuando me mudé a un nuevo alojamiento! de todos modos he intentado cambiar el "mySQL" a "mySQLi" pero no funciona, así que he hecho esto:
El truco consiste en desactivar los informes de errores :)
Para PHP 7+, puede usar este código en su lugar:
Gracias
fuente
ini_set('display_errors', 0); ini_set('log_errors', 1);
. Actualizaré la respuesta anterior. Gracias.pon esto en tu página php.
fuente
¡Añadiendo un
@
trabajo para mí!Probé con
error_reporting(E_ALL ^ E_DEPRECATED);
fuente