Foros del Web » Programando para Internet » PHP »

Me marca un error

Estas en el tema de Me marca un error en el foro de PHP en Foros del Web. <? include 'conexion.php'; $db=mysql_select_db($base,$conexion); $table_name="articulos"; $conexion=mysql_connect($servidor,$usuario,$passwo rd)or die ("No se puede conectar"); $db=mysql_select_db($base,$conexion); $sql="SELECT *FROM $table_name where descripcion=$producto "; $result=mysql_query($sql,$conexion); while($registro=mysql_fetch_array($result)){ echo "<td>", $registro['precio '],"</td>" ...
  #1 (permalink)  
Antiguo 26/08/2008, 21:55
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Pregunta Me marca un error

<?
include 'conexion.php';
$db=mysql_select_db($base,$conexion);
$table_name="articulos";
$conexion=mysql_connect($servidor,$usuario,$passwo rd)or die ("No se puede conectar");
$db=mysql_select_db($base,$conexion);
$sql="SELECT *FROM $table_name where descripcion=$producto ";
$result=mysql_query($sql,$conexion);

while($registro=mysql_fetch_array($result)){
echo "<td>", $registro['precio '],"</td>" ;
}

?>

hola este es el error haber si me puedes hecahr la mano a corregirlo gracias...


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
  #2 (permalink)  
Antiguo 26/08/2008, 22:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Me marca un error

Seguramente debes de tener un error en tu consulta, prueba agregar el or die(mysql_error() ); despues de tu mysql_query.

Por otro lado veo que usas la variable $producto, pero no la veo definida por ningún lado.

Saludos.
  #3 (permalink)  
Antiguo 26/08/2008, 22:02
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Me marca un error

Usa:
while($registro=mysql_fetch_array($result, MYSQL_ASSOC)){

Sino:
while($registro=mysql_fetch_assoc($result)){

Tambien revisa que la consulta SQL este bien hecha.

Última edición por Ronruby; 26/08/2008 a las 22:44
  #4 (permalink)  
Antiguo 26/08/2008, 22:35
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Me marca un error

Cita:
Iniciado por GatorV Ver Mensaje
Por otro lado veo que usas la variable $producto, pero no la veo definida por ningún lado.
Probablemente la variable $producto está viniendo de la URL.

@RicardoU, si es así, recuerda que debes usar $_GET['variable'] (Uso de Register Globals) . Ahora, si viene de la URL, debes usar alguna técnica para evitar la Inyección SQL, como la función mysql_real_escape_string(), y al armar tu consulta, debes limitar la variable con comillas simples, para que no ocurran errores en caso de que la variable esté vacía:

Código PHP:
$producto mysql_real_escape_string($_GET['producto']); // Por seguridad
$sql="SELECT *FROM $table_name where descripcion='$producto'"// Delimita los valores con comillas simples
 
$result=mysql_query($sql,$conexion) or die("<b>Error en la consulta</b> <br/><br/>".mysql_error()); // mysql_error(), por si existen errores en la consulta 
Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:20.