Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Pasar de mysql a mysqli

quisiera saber como pasar mi pagina web hecha con mysql a mysqli y no morir en el intento
Editado
0
Puntos
17122
Visitas
5
Resp
Por fernandoury hace 103 meses
Principiante Sitio web
Respuesta #1
...Y no morir en el intento jajaja.

Bueno, te explicaré algunas cosas básicas por pasos:

1.- La Conexión
Antes se usaba
<?php
$con = mysql_connect("hostname","username","password);
$db = mysql_select_db("basename");
?>
Pero ya no, ahora puedes usar las siguientes alternativas. Una muy similar a la anterior y la otra es orientado a objetos haciendo una instancia el objeto mysqli.
<?php
$con = mysqli_connect("hostname","username","password","basename"); // Alternativa 1

$con = new mysqli("hostname","username","password","basename"); // Alternativa 2
?>

2.- Consultas
Antes usábamos
<?php
$query = mysql_query("SELECT * FROM table", $con);
?>
Ahora no, ahora hay dos formas de hacerlo. Una muy similar a la anterior y la otra es orientada a objetos, asumiendo que la conexión es un objeto (para ello se debe haber usado la alternativa 2 de la conexión).
<?php
$query = mysqli_query($con, "SELECT * FROM table"); // Alternativa 1

$query = $con->query("SELECT * FROM table"); // Alternativa 2
?>

3.- Función escape de caracteres.
Si usas Dreamweaver, o has usado su función GetSQLValueString() podrás haber notado que en el desarrollo de ésta función hay una función nativa de PHP llamada mysql_real_escape_string(). Y si no has usado nada de eso de Dreamweaver, quizás sí las usado, ya que esa función mysql_real_escape_string() nos permite evadir el SQL Injection, bien.. Antes esta función era:
<?php mysql_real_escape_string($string); ?>
Y ahora es muy similar
<?php mysqli_real_escape_string($string); ?>
Siendo $string alguna cadena de texto generalmente recibida desde algún formulario (enviada por el usuario).

3.- Fetch Array
Antes para obtener un arreglo de datos de una consulta utilizábamos
<?php
$row = mysql_fetch_array($query);
?>
Siendo $query la consulta.. Pero ahora están dos alternativas. Una muy similar a la primera y la otra orientada a objetos (para ello se debe haber realizado la alternativa 2 de conexión).
<?php
$row = mysqli_fetch_array($query); // Alternativa 1

$row = $query->fetch_array(); // Alternativa 2
?>

4.- Contar las filas
Cuando hacemos una consulta a veces queremos saber cuántos resultados halló, o incluso validar preguntando si existe al menos un resultado, para eso usábamos
<?php
$num_rows = mysql_num_rows($query);
?>
Pero ahora usamos una de estas dos alternativas, la primera similar a la anterior y la segunda orientada a objetos (para ello es necesario haber realizado una conexión con la segunda alternativa).
<?php
$num_rows = mysqli_num_rows($query); // Alternativa 1

$num_rows = $query->num_rows; // Alternativa 2
?>
Siendo $query la consulta.
__________________________________________________________________________________

Bien, ahora ¿Qué alternativa es mejor?
Ambas alternativas son válidas, aunque personalmente, creo que el lenguaje hoy día se está manejando más orientado a objetos, incluso es una de las cosas que ha rescatado a PHP, yo recomiendo aprenderlo y no es complicado: "PHP Orientado a Objetos".

Estos fueron algunos términos básicos, pero si buscas en la Documentación Oficial por alguna función obsoleta mysql_* encontrarás que te hacen referencia a utilizar la nueva sintaxis mysqli_* y te muestran algunos ejemplos de como se usa. Saludos :-)
2
Puntos
Por Jose hace 103 meses
Experto Sitio web
Respuesta #2
pufff excelente como todos tus aportes... mil gracias..
0
Puntos
Por fernandoury hace 103 meses
Principiante Sitio web
Respuesta #3
mira esta pequeña guía, en realidad son unos pequeños cambios https://datoweb.com/post/2486/ejemplos-de-como-usar-mysqli-de-manera-facil
2
Puntos
Por alber hace 103 meses
Administrador
Respuesta #4
Hola a todos, primero gracias por estos apuntes, a mí me vienen muy bien pues tengo una web/tienda pequeñita pero en MySQL o deprecada. Estoy pasito a pasito migrando a php7 MySQLi en local con xammp.
Quisiera saber si ¿hay un post con todos los recursos que se deben cambiar o en tal caso si puedo hacer aqui preguntas o pedir ayuda o he de abrir hilo nuevo?
Un saludo.
2
Puntos
Por Drums hace 54 meses
Principiante
Respuesta #5
Excelente, muchas gracias, hoy 18/03/2021 pude reactivar mi sitio web gracias a estos datos, muchas gracias
1
Puntos
Por brianalvarezc hace 37 meses
Principiante
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate