Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Tutorial Pasar MySQL a MySQLi[POO]
#1
[Imagen: mysql-mysqli-growthefuturenow.jpg]


De que tratara este nuevo Tutorial? les enseñare a como pasar scripts o códigos MySQL -> MySQLi
Como vi que muchos no saben como hacerlo y la mayoría de Script's se quedaron en MYSQL decidi hacer este tutorial y explicarme lo mejor que pueda[Imagen: clear.png]

para este tutorial usare el Script Making A Cool Login System With PHP, MySQL & jQuery como Referencia donde lo Pasare de MySQL MySQLi, así que empecemos.

• Conexión a la Base de Datos y Seleccionar Base de Datos

Código:
PHP:
$link = mysql_connect($db_host,$db_user,$db_pass) or die('Unable to establish a DB connection');

mysql_select_db($db_database,$link);

Este código es de [b]MYSQL, Como se convierte a MYSQLI? eso puedes hacerlo por Procedimientos o mediante POO, yo lo hare con POO ya que me gusta mas[Imagen: clear.png][/b]

Código:
$link = new mysqli($db_host,$db_user,$db_pass,$db_database) or die('Unable to establish a DB connection');

ese codigo es para conectarlo a la Base de Datos y Seleccionar a la misma Vez la Base de Datos(Ya que es la nueva Funcion de [b]MySQLi)
o si quieres seleccionar la Base de Datos aparte, este es el codigo
[/b]

Código:
$link->select_db($db_database);

[b]• Escapar los Caracteres Especiales de una Cadena[/b]

Código:
$_POST['email'] = mysql_real_escape_string($_POST['email']);

[b]Este Código recibe la Cadena Enviada y Escapa los caracteres especiales de una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión por un Método Post usando [b]MySQL[/b][/b]

Código:
$_POST['email'] = $link->real_escape_string($_POST['email']);

[b][b]Este es el nuevo codigo de [b]MYSQLI para escapar los Caracteres Especiales en el cual primero Seleccionas la Conexión creada anteriormente, en mi caso es la Variable $link y luego pasamos la Función real_escape_string() con el texto que escapara dentro de la funcion
[/b]
[/b]
[/b]

[b][b][b]• Ejecutar una Consulta en la Base de Datos[/b][/b][/b]

Código:
mysql_query($sql);
[b][b][b]
Realiza una consulta a la base de datos con [b]MYSQL
[/b]
[/b]
[/b]
[/b]

Código:
$link->query($sql);
[b][b][b][b]
Realiza una consulta a la base de datos con [b]MYSQLI 
en la cual primero Seleccionas La Conexión creada a la base de datos anteriormente y después ejecutas la funcion query() con la Consulta a Ejecutar dentro de la Función
[/b]
[/b]
[/b]
[/b]
[/b]

[b][b][b][b][b]• Obtener el número de filas afectadas en la última operación MySQL[/b][/b][/b][/b][/b]

Código:
mysql_affected_rows($link);
[b][b][b][b][b]Obtiene el Numero de Filas afectadas en la Ultima Fila, ya sea si agregaste, modificaste o seleccionaste una Fila en la Base de Datos[/b][/b][/b][/b][/b]

Código:
$link->affected_rows;


[b][b][b][b][b]Como dije anteriormente en el Nuevo [b]MYSQLI siempre tendrás que seleccionar primero la Conexión de la DB y despues ejecutas la Funcion que en este caso es affected_rows
[/b]
[/b]
[/b]
[/b]
[/b]
[/b]

[b][b][b][b][b][b]• Obtener una fila de resultado como un array asociativo[/b][/b][/b][/b][/b][/b]

Código:
$row = mysql_fetch_assoc($query);
[b][b][b][b][b][b]
En [b]MYSQL 
ejecutas la Función mysql_fetch_assoc() pasando la Consulta que hiciste dentro de la Funcion
[/b]
[/b]
[/b]
[/b]
[/b]
[/b]
[/b]

Código:
$row = $query->fetch_assoc();

[b][b][b][b][b][b]Como dije anteriormente aqui primero tiene que hacer una Consulta usando la Conexion primero y despues la Funcion y ya que este lista la Consulta obtenemos las Filas de la Consulta Realizada.
[/b]
[/b]
[/b]
[/b]
[/b]
[/b]
Para Obtenerla, el codigo esta arriba y lo que hace es primero Seleccionar la Consulta y despues ejecutamos la Funcion fetch_assoc()

[b][b][b][b][b][b]Para los que no saben como hacer la Consulta, o que contiene la Variable [b]$query aqui se las dejo:[/b][/b][/b][/b][/b][/b][/b]

Código:
$query = $link->query("SELECT * FROM table");

[b][b][b][b][b][b]Y bueno eso fue todo, espero que les aya Servido de Algo este Pequeño Tutorial y cualquier problema me pueden decir y les ayudare si puedo  Guiño [/b][/b][/b][/b][/b][/b]
#2
Me parece más ordenado verificar el código de error y mostrar un mensaje (más informativo) con trigger_error(), que usar die().

Código PHP:
$dbh = new mysqli('host''usuario''contraseña''base_de_datos');

if (
$dbh->connect_errno) {
 
trigger_error($dbh->connect_errorE_USER_ERROR);


Además, es preferible usar sentencias preparadas, incluso cuando no se necesite enlazar datos con bind(), añade una capa de seguridad extra.

Código PHP:
$stmt $dbh->prepare('SELECT * FROM tabla'); 
WWW
#3
Yo uso siempre en MySQL para trabajar todo lo relacionado con la base de datos, de que se trata el MySQL? Acaso es similar o cumple alguna función parecida?
WWW
#4
Realmente usar Msqli expande la funcionalidades para gestionar la informacion de una mandera mas organizada y flexible y crea una capa de seguridad extra como comentado AbaddonOrmuz . Otras formas de acceder a base de datos es a través de ORM pero este concepto es orientado a objetos.
#5
Esta bueno ayudara a muchos que anden en inicios de php pero no han migrado a poo
#6
Interesante tu post yo sigo trabajando con mysql y ahora inciando con mysqli, gracias por el aporte saludos.
#7
tremendo gracias tengo una pagina que me dice que tengo que cambiar MYSQL a MySQLi y no tenia ni la menor ude de como ahcer tal cosa, se te agradce el tiempo y el porte (Y)
[Imagen: Nexo_Firma.gif]


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Subir multiples archivos o imágenes al servidor y guardarlas con PHP y MySQL cmascreativo 5 119 02-03-2018, 08:08 AM
Último mensaje: easy english
Bug Problema conectando con MySql remoto yuma2009 2 125 01-02-2018, 11:52 AM
Último mensaje: easy english
  error mysql en php admin efbsfcd 2 107 14-12-2017, 12:49 AM
Último mensaje: jeje
  Problema conexion remota mysql efbsfcd 2 244 07-07-2017, 07:19 AM
Último mensaje: efbsfcd
  Como subir Archivos, Imagenes PHP MysQL gassip 0 1,244 24-10-2016, 06:59 AM
Último mensaje: gassip
  [Tutorial] Pasar base de datos MySQL por SSH Jvh_22 1 414 11-10-2016, 04:12 PM
Último mensaje: efbsfcd
  falla conexion a mysql [email protected] 4 594 01-09-2016, 06:52 AM
Último mensaje: easy english
  Subir multiples archivos o imágenes al servidor y guardarlas con PHP y MySQL cmascreativo 1 866 18-02-2016, 09:55 PM
Último mensaje: index
  [Aporte] Codigo para renombrar tabla MySQL gassip 3 465 23-12-2015, 08:10 AM
Último mensaje: AbaddonOrmuz
  Solucionado: Problema al conectar con base de datos remota mysql efbsfcd 10 1,001 21-07-2015, 02:23 PM
Último mensaje: Kevin9908



Usuarios navegando en este tema: 1 invitado(s)