Crear conexión con PHP con mysqli_connect, solucionando Deprecated: mysql_connect():

Desde hace algún tiempo que algunas funciones empezaron a quedarse obsoletas como mysql_connect o mysql_fetch_array, con lo que al pasar a diferente versión de PHP, es posible que nos salgan continuamente warnings del tipo:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in

Código PHP
Código PHP

En la mayoría de los casos puede no ser una molestia, simplemente en producción se ocultan los mensajes de warnings y sin problema. Pero si habéis probado a crear un xml o incluso atacarlo utilizando jquery para comunicar pasando parámetros con json, es posible que el resultado no sea el esperado por que te añadirá espacios en blanco, saltos de linea, etc…

La solución es dar el salto a la nueva función, para ello nada más simple, os dejo un ejemplo de conexión completa con mysqli_connect y consultar con mysqli_query:

 

<?php

define(«cServidor», «localhost»);
define(«cUsuario», «miusuario»);
define(«cPass»,»mipass»);
define(«cBd»,»mibbdd»);

$conexion = mysqli_connect(cServidor, cUsuario, cPass, cBd);

$consulta = ‘select * from secciones’;
$resultado = mysqli_query($conexion, $consulta);

// recorremos el resultado y pintamos los nodos

while ($registro = mysqli_fetch_array($resultado)){

}

?>

Si os fijáis, la única diferencia es que con mysqli_connect se añade también el último parámetro de base de datos, no teniendo que ser seleccionado como se hacía con la función ya Deprecated. Por otro lado, la función de mysqli_query para realizar la consulta, recibiría el parámetro de conexión de la base de datos y a continuación la consulta propiamente dicha. De esta manera podremos estar manejando varias consultas con diferentes bases de datos de forma mucho más potente y sencilla.

El resto ya lo conocéis, en $registro se guarda los valores recibidos y solo hay que ir leyendo el array de campos.

Espero que os sirva! Si tenéis cualquier duda comentadla y si os ha gustado os agradezco que compartais!

 

Carlos Dk

Apasionado por la enseñanza y el SEO

12 comentarios en “Crear conexión con PHP con mysqli_connect, solucionando Deprecated: mysql_connect():

  • el 4 septiembre, 2014 a las 7:00 pm
    Permalink

    Gracias! tal y como decías no me funcionaba el return del json por culpa de la función obsoleta de mysql_connect!

    Me añadía algún caracter o letra o no sé, pero al cambiar a la nueva función de mysqli ha funcionado a la primera.

    Gracias otra vez!

    Respuesta
    • el 14 octubre, 2014 a las 9:00 am
      Permalink

      Nada 🙂 algunos detalles como lo de Json nos traen de cabeza. Como la codificación en UTF-8! aunque no es este caso jeje 😉

      Respuesta
  • el 24 mayo, 2015 a las 11:42 pm
    Permalink

    infinitamente agradecido, a pesar de ser una sintaxis tan simple definitivamente hay que tener preparación para poder ofrecer una solucion como esta, me ha funcionado muy bien FELICIDADES por la página, esta super útil

    Respuesta
  • el 21 noviembre, 2015 a las 12:29 am
    Permalink

    hola tengo una consulta, aqui en este campo brother

    $consulta = ‘select * from secciones’; en secciones que parte de mi trabajo va?

    el error es Parse error: in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\Connections\server.php on line 11

    Respuesta
  • el 23 noviembre, 2015 a las 1:14 pm
    Permalink

    En esa línea estás definiendo la consulta que lanzarás después. Es una simple asignación de un string a la variable consulta.

    Es posible que el error te venga de antes, revisa las comillas que estén correctamente, al copiar/pegar es posible que te de error.

    Un saludo!

    Respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.