Pregunta:
Fecha: 15-12-2016 06:20:55
(En Español)
también utilice MySQLi pero sigue marcando el mismo error.
Este es mi código:
Problemas con funcion PHP[No resuelta]
Hola a todos, tengo un problema de compactibilidad, quiero guardar mi consulta SQL en un array pero al momento de abrir en el navegador me indica un error y al parecer las funciones que usos para recorrer a consulta y guardar el array ya no existen. Me podrían decir cual es la nueva sintaxis que debe usar para guardar mi consulta en el array?.también utilice MySQLi pero sigue marcando el mismo error.
Este es mi código:
<?php
$conexion= @mysql_connect('localhost', 'root', 'tojFZtWuGpUKZL3r')or die('No se pudo conectar: ' . mysql_error());
echo 'Conexion terminada';
echo "</table>\n";
mysql_select_db('eventos_salvatierra') or die('No se pudo seleccionar la base de datos');
echo 'Base de datos encontrada';
echo "</table>\n";
$sql= 'SELECT ‘TituloEvento’,‘DescripciomEvento’ ,‘ImagenEvento’ FROM eventos';
$resultados = mysql_query($sql, $conexion);
$json= array();
echo 'Consulta hecha';
//Imprimir los resultados en HTML
echo "<table>\n";
if (mysql_affected_rows($resultados)){
while(mysql_fetch_object($resultados)){
$json[]=$row;
}
}
echo "</table>\n";
// Cerrar la conexión
mysql_close($conexion);
echo 'Conexion cerrada';
echo json_encode($json);
return $json;
?>
Votos: 1 -
Respuestas: 7 -
Vistas: 17
Compartir en: Google
Facebook
Twitter
LinkedIn
Link
Respuestas:
-
Fecha: 15-12-2016 07:38:31 Mi estimado para ocultar esos errores que te dicen que la función es deprecated , pues simplemente ponle un @ xD ya problema solucionado mi Estimado. Votos: 0 - Link respuesta
-
Fecha: 15-12-2016 13:48:20 Sería mejor trabajar con PDO.
http://php.net/manual/es/pdo.connections.php
Un video sobre ello.
https://www.youtube.com/watch?v=UDqYrYxUttU Votos: 1 - Link respuesta -
Fecha: 16-12-2016 04:05:14 Concuerdo con Wilmer aparte es mas seguro a los ataques SQL Injection xD. Votos: 0 - Link respuesta
-
Fecha: 18-12-2016 02:08:01 Buenos días, el error lo vas a seguir teniendo por estas líneas
while(mysql_fetch_object($resultados)){ $json[]=$row; }
No existe $row
tendría que ser
while($row=mysql_fetch_object($resultados)){ $json[]=$row; }
De todas maneras, a tu pregunta, consulta en el manual oficial de php. Yo utilizo mysqli porque el cambio no es tan drástico cuando cambiás a mysqli. PDO, por lo que leí, te sirve para conectarte a otros motores de bases de datos y no solo a mysql y, cualquier de las dos, como dice Rasmus Lerdorf, evita la inyección sql
Los nombres de funciones son muy parecidas (y las formas de usarse, también)
Saludos
DIEGO Votos: 1 - Link respuesta -
Fecha: 19-12-2016 05:44:03 Mi querido amigo ya cambia a mysqli
Para ello en el manual de php esta todo lo relacionado con ello. EN muchos casos algunas funciones han cambiado pero en muchas otras la sintaxis solo cambia en ponerle la i al final de mysql.
por ejemplo
para conectar mysql_connect()
con mysqli es mysqli_connect()
Debes revisar cuales te vienen bien y otra cosa si usas sintaxis mysql no se te ocurra ocultar errores con @ como lo cometa el amigo rasmus arriba. Por que no ? porque lo que necesitas es solucionar el error y eso se soluciona haciendo las cosas bien hechas no tapando lo malo con comodines salvo casos extremadamente puntuales.
Aqui el lnik del manual de php
https://secure.php.net/manual/es/index.php
Por ultimo ya actualiza a trabajar php 7 por lo menos alli ya no te permite uso de mysql como tal.
Otra excelente opcion es PDO. Votos: 2 - Link respuesta -
Fecha: 19-12-2016 06:03:11 De todas maneras, no usaría de forma procedural las funciones de mysqli, lo utlizaría oo (por lo menos así lo hago)
Saludos
DIEGO Votos: 1 - Link respuesta -
Fecha: 09-01-2017 17:29:37 Hola Oscar,
Muy seguramente es porque la extensión MySQL está marcada como obsoleta (DEPRECATED) desde hace ya varios años. El warning que te aparece está ahí para advertir que en una futura versión dejará de funcionar (De hecho ya en PHP7 esas llamadas generan un error porque ya no existen).
Te sugiero, como muchos colegas ya lo hicieron, que utilices la extensión mysqli y actualices todas las funciones. Esto generalmente no lleva mucho trabajo pues sólo hay que remplazar
mysql_*
por la forma actual:
mysqli_*
Importante A diferencia de muchos te desaconsejo utilizar el caracter @. Su uso se limita a ambientes de desarrollo para realizar pruebas. En producción puede ocasionar muchos dolores de cabeza pues suprime mensajes de error complicando la detección exacta de bugs o fallas. En muchos ambientes empresariales es considerado mala práctica y nunca pasan las pruebas de QC. He visto algunos casos donde para evitar su uso se incluyen y verifican errores en las pruebas unitarias jajajaja Votos: 2 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
