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