Antes que nada me gustaría resolver una duda. Cuando uso mysql en cada página de la web incluyo...
Código PHP:
<?php require_once('Connections/conexion.php'); ?>
Código PHP:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conexion = "servidor";
$database_conexion = "base_de_datos";
$username_conexion = "usuario";
$password_conexion = "password";
$conexion = mysql_pconnect($hostname_conexion, $username_conexion, $password_conexion) or trigger_error(mysql_error(),E_USER_ERROR);
?>
Código PHP:
$mysqli = mysqli_connect("servidor", "usuario", "password", "base_de_datos");
$Consulta = mysqli_query($mysqli, "SELECT * FROM tabla_bd");
$row_Consulta = mysqli_fetch_assoc($Consulta);
$totalRows_Consulta = mysqli_num_rows($Consulta);
Código PHP:
$mysqli = mysqli_connect("servidor", "usuario", "password", "base_de_datos");
Código PHP:
<?php require_once('Connections/conexion.php'); ?>
Código PHP:
$Consulta = mysqli_query($mysqli, "SELECT * FROM tabla_bd");
$row_Consulta = mysqli_fetch_assoc($Consulta);
$totalRows_Consulta = mysqli_num_rows($Consulta);
Como digo es una duda, pero no es algo que me para para trabajar y migrar a mysqli porque solo lo pregunto por cuestiones de comodidad.
La verdadera duda es que tengo un contador de visitas desde hace mucho tiempo en mysql y no consigo pasarlo a mysqli, he hecho mil pruebas y siempre me da errores o no me funciona. Les pego el código por si me pueden echar una mano.
Código PHP:
<?php require_once('Connections/conexion.php'); ?>
<?php
//IP DEL VISITANTE
$ip = $_SERVER['REMOTE_ADDR'];
/*Seleccionamos la ip, la diferencia en tiempo entre la fecha actual y la almacenada
* en la base de datos, con la funcion de mysql TIMEDIFF(fecha de inicio, fecha final)
*/
$sql="select ip, TIMEDIFF(NOW(), fecha), fecha, num_votos from contador where ip='$ip'";
//Ejecutamos la instruccion SQL
$rs=mysql_query($sql) or die("Problemas al ejecutar select SQL ".mysql_error());
/*Almacenados el resultado de la instruccion SQL en un arreglo asociativo con la funcion
mysql_fetch_array */
$fila=mysql_fetch_array($rs);
$tiempo=$fila[1]; //Diferencia entre fecha guardada y fecha actual
$num_votos=$fila[3]; //Número de visitas
$horas_t=substr($tiempo,0,2); //Numero de horas transcurridas
$tiemRes = 5; //Varible de tiempo en horas para restringir la visita
/*Contamos el numero de registros obtenidos en la consulta anterior, si el numero
* obtenido es igual a cero es porque dicho visitante es nuevo en el sito
* entonces agregamos su ip a la base de datos junto con un 1 y la fecha actual */
if (mysql_num_rows($rs)==0)
{
$sql="insert into contador(ip, num_votos, fecha) values('$ip', 1, NOW())";
mysql_query($sql) or die("Problemas al ejecutar la insert SQL ".mysql_error());
}
/* Si el numero de registros obtenidos es mayor a cero es porque dicho visitante ha vuelto a ingresar al
* sitio, y si su tiempo transcurrido es mayor a 5 horas desde la primera vez que ingreso
* entonces actualizamos su numero de votos agregando sumando 1 al valor actual,
* tambien actualizamos la fecha de su ultimo ingreso a la fecha actual
* */
//Si la ip existe y han transcurrido 5hrs
elseif (mysql_num_rows($rs) > 0 && $horas_t > $tiemRes)
{
$sql="update contador set fecha=NOW(), num_votos='$num_votos'+1 where ip='$ip'";
mysql_query($sql) or die("Problemas al ejecutar update SQL ".mysql_error());
}
$sql="select SUM(num_votos) from contador"; //Obtenemos la suma de todas las visitas
$rs=mysql_query($sql) or die("Problemas al ejecutar select SQL ".mysql_error());
$fila=mysql_fetch_array($rs); //Almacenanos el resultado de la consulta en un arreglo
$num_votos=$fila[0]; //Numero de visitas
mysql_close($link);
?>
Aquí el archivo 'configuracion.php' está en mysql, como conté antes, porque no he conseguido nunca arreglar este contador.
Gracias por adelantado!!!