Foros del Web » Programando para Internet » PHP »

Consulta mysql que no funciona

Estas en el tema de Consulta mysql que no funciona en el foro de PHP en Foros del Web. Hola a todos: necesito ayuda. Soy novato en esto de PHP y mysql y necesito, en esta función php, hacer una consulta sobre una tabla ...
  #1 (permalink)  
Antiguo 24/09/2008, 14:55
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 132
Antigüedad: 15 años, 10 meses
Puntos: 1
Consulta mysql que no funciona

Hola a todos: necesito ayuda. Soy novato en esto de PHP y mysql y necesito, en esta función php, hacer una consulta sobre una tabla en función del número de id (clave autonumérica).

El número de id lo obtengo como dato desde un array a través de una variable de sesión en función del número del contador. Esta variable contador indica el número de veces que se ejecuta la funcion.

El código de la función es el siguiente:
<?php
session_start( );
function obtienedatos ($tabla) {
$num = $_SESSION['numid'][$_SESSION['contador']+1];
include ("conectar.php");
// Conectamos a la BD
$conectar=mysql_connect($host, $usuario, $password);
if (!$conectar){die ("No se pudo seleccionar la base de datos: <br />". mysql_error());}
// Seleccionamos la tabla
mysql_select_db ("preguntas", $conectar);
// Asignamos la consulta
$consulta = "SELECT * FROM $tabla WHERE id === $num";
//Ejecutamos la consulta
$query = mysql_query ($consulta, $conectar);
if (!$query){die ("No se pudo ejecutar una consulta sobre la base de datos en obtienedatos: <br />". mysql_error());}
// Obtiene y muestra los resultados
while ($resultado_fila =mysql_fetch_row (($query))){
$_SESSION['bd'][$_SESSION['contador'][1]]= $resultado_fila[0];
$_SESSION['bd'][$_SESSION['contador'][2]] = $resultado_fila[1];
$_SESSION['bd'][$_SESSION['contador'][3]] = $resultado_fila[2];
$_SESSION['bd'][$_SESSION['contador'][4]] = $resultado_fila[3];
$_SESSION['bd'][$_SESSION['contador'][5]] = $resultado_fila[4];
$_SESSION['bd'][$_SESSION['contador'][6]] = $resultado_fila[5];
}
// Cerramos la conexión
mysql_close ($conectar);
}
?>

Esta consulta da un error "No se pudo ejecutar una consulta sobre la base de datos en obtienedatos: you have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id===36' at line 1" . Este error no se por qué se produce ni como arreglarlo ¿Me podéis ayudar?

Aclaro que el número 36 es el número que se obtiene del array "$_SESSION['numid'][$_SESSION['contador']+1]" para evitar posibles respuestas en el foro en este sentido.

Espero vuestra ayuda. Muchas gracias.
  #2 (permalink)  
Antiguo 24/09/2008, 14:58
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Consulta mysql que no funciona

dejalo asi y prueba

$consulta = "SELECT * FROM $tabla WHERE id = $num";
  #3 (permalink)  
Antiguo 24/09/2008, 15: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: Consulta mysql que no funciona

Hola brusjc,

En MySQL debes de usar solamente un solo simbolo de = para comparar, no es necesario 3 signos.

Saludos.
  #4 (permalink)  
Antiguo 08/02/2009, 09:34
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 132
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Consulta mysql que no funciona

Ok. Gracias. Ya está solucionado. Os agradezco vuestra colaboración
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 17:31.