Cómo pasar de msql a msqli en una página web hecha con Dreamweaver

neo 2.0 - Cómo pasar de msql a msqli

La función msql desde hace tiempo quedó obsoleta, desde la versión 5.5 de PHP y en servidores con PHP 7.0 en adelante ya no funciona. Si necesitas pasar de msql a msqli, puedes seguir los siguientes pasos.

IMPORTANTE: Antes de realizar ningún cambio, asegúrate de hacer una copia de seguridad.

Lo primero que tendremos que modificar es la conexión con la base de datos.

<?php
$hostname_localhost = "p:localhost";
$database_localhost = "database";
$username_localhost = "user";
$password_localhost = "password";
$localhost = mysqli_connect($hostname_localhost, $username_localhost, $password_localhost, $database_localhost);
mysqli_set_charset($localhost, 'utf8');
?>

A continuación, tendremos que eliminar de todas nuestras páginas el siguiente código. Para ello, podemos hacer un buscar y reemplazar, dejando el campo reemplazar vacío.

ELIMINAR:

mysql_select_db($database_localhost, $localhost);

También tendremos que sustituir en todas las páginas los siguientes códigos.

SUSTITUIR:

$LoginRS = mysql_query($LoginRS__query, $localhost) or die(mysql_error());
$LoginRS = mysqli_query($localhost, $LoginRS__query) or die(mysqli_error($localhost));

mysql_fetch_assoc
mysqli_fetch_assoc

mysql_num_rows
mysqli_num_rows

mysql_insert_id
mysqli_insert_id

mysql_free_result
mysqli_free_result

global $database_localhost, $localhost;
global $localhost;

mysql_error()
mysqli_error($localhost)

mysql_data_seek
mysqli_data_seek

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
global $localhost;
$theValue = function_exists("mysqli_real_escape_string") ? mysqli_real_escape_string($localhost, $theValue) : mysqli_escape_string($localhost,$theValue);

, $localhost) or die
) or die

mysql_query(
mysqli_query($localhost,

En caso de que exista, reemplazamos:

$LoginRS=mysql_query($LoginRS__query, $localhost) or die(mysql_error());
$LoginRS = mysqli_query($localhost, $LoginRS__query) or die(mysqli_error($localhost));

En algunos casos, no siempre aparece, tendremos que reemplazar:

mysql_result
mysqli_result

Si hemos tenido que realizar el paso anterior, también tendremos que AÑADIR:

function mysqli_result($res, $row, $field=0) { 
$res->data_seek($row); 
$datarow = $res->fetch_array(); 
return $datarow[$field]; 
}

Y por último, añadir $localhost donde haga falta, por ejemplo:

mysql_insert_id()
mysqli_insert_id($localhost)

Ahora comprueba que todo funciona perfectamente :)

Comentarios

Entradas populares de este blog

Enlaces tipo ancla con desplazamiento animado con jQuery