PHP - ALGUIEN PUEDE DECIRME QUE ESTA MAL?

 
Vista:
sin imagen de perfil

ALGUIEN PUEDE DECIRME QUE ESTA MAL?

Publicado por roberto (2 intervenciones) el 03/09/2016 14:52:19
Hola, confieso que no entiendo nada de php y acudo en ayuda si alguien puede brindarmela para poder corregir
este dilema

He comprado un soft para mandar correos que permite hacer el traceo de los correos abiertos.
el soft trae un script que se debe subir al servidor y configurar un archivo que conecte con la base de datos para posteriormente al ejecutar via navegador un comando muestra en una tabla los correos abiertos y la fecha de apertura.

El primer paso fue la creación de la base y la importación de la tabla que indica el software

Yo cree la base y le importe la siguiente tabla


1
2
3
4
5
CREATE TABLE `opentracking` (
  `eid` varchar(64) NOT NULL DEFAULT '',
  `ipaddr` varchar(16) NOT NULL DEFAULT '',
  `atime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


Luego subi el script a mi host y lo puse en el root dado que solo esta para esto...

El archivo que conecta la base de datos se llama view.php

y este es su código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Fri, 02 Mar 1990 01:00:00 GMT");
 
$dbname = 'NOMBRE-DE-LA-BASE';
$dblink = mysql_connect("MISERVER-MYSQL","EL USUARIO DE LA BASE","CONTRASEÑA") or die("Couldn't make connection.");
 mysql_select_db($dbname, $dblink);
$result = mysql_query("SELECT * FROM opentracking order by atime desc") or die (mysql_error());
$num = mysql_num_rows($result);
 
if ($num == 0) return "SIN APERTURAS AUN";
echo "<table border=1 cellpadding=5 ><th>EMAIL</th><th>DIRECCION IP</th><th>FECHA</th>";
while($row = mysql_fetch_array($result)){
 echo "<tr><td>" . $row['eid'] . "</td><td> " . $row['ipaddr']. "</td><td>  " . $row['atime'];
 echo "</td></tr>";
 
}
echo "</table>";
 
 
?>

Pero cuando lo corro en el navegador al archivo /view.php me da este error


Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/u554725219/public_html/view.php on line 7


Alguien me puede echar una manito para solucionarlo, desde ya mil gracias

Roberto
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ALGUIEN PUEDE DECIRME QUE ESTA MAL?

Publicado por xve (6935 intervenciones) el 03/09/2016 22:34:05
Hola Roberto, fíjate que es un aviso, no es un error... te esta diciendo que mysql_connect, ya no se utilizara en próximas versiones de Mysql.

Puedes hacer dos cosas, cambiarlo a mysqli o indicar al php que no te muestre los mensajes de deprecated, aunque yo los dejaría y cambiaría a mysqli.

Una manera de eliminar dichos mensajes, puede ser con:
1
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
o
1
error_reporting(E_ALL ^ E_DEPRECATED);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ALGUIEN PUEDE DECIRME QUE ESTA MAL?

Publicado por roberto (2 intervenciones) el 03/09/2016 22:42:34
Mil gracias por tu respuesta.

No tengo idea como cambiarlo a mysqli me podrias dar alguna idea de como obtener info como para intentar pasarlo?


Una vez mas gracias

Roberto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Víctor
Val: 152
Ha disminuido su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

ALGUIEN PUEDE DECIRME QUE ESTA MAL?

Publicado por Víctor (192 intervenciones) el 04/09/2016 10:09:30
Hola:

Intentaré ayudarte yo.

1) Modifica las lineas 7 y 8 en una sola:
1
$dblink = mysqli_connect("MISERVER-MYSQL","EL USUARIO DE LA BASE","CONTRASEÑA",$dbname) or die("Couldn't make connection.");
OJO! Le nueva debe ser mysqli_connect

2) La 9 a
1
$result = mysqli_query("SELECT * FROM opentracking order by atime desc") or die (mysql_error());
OJO! parecen iguales pero se diferencian en que una pone mysql_query y la nueva mysqli_query.

3) La 10 a
1
$num = mysqli_num_rows($result);
OJO! de nuevo a la i

4) La 14 a
1
while($row = mysqli_fetch_array($result)){
¡Lo has adivinado! OJO a la i

Más fácil imposible.

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar