Foros del Web » Programando para Internet » PHP »

Problema de sintaxis en mysql

Estas en el tema de Problema de sintaxis en mysql en el foro de PHP en Foros del Web. Hola a todos, Soy nueva tanto aquí, como en programación. Estoy haciendo un buscador que lea de una base de datos, que como resultado estara ...
  #1 (permalink)  
Antiguo 15/09/2004, 12:54
Bru
 
Fecha de Ingreso: septiembre-2004
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Problema de sintaxis en mysql

Hola a todos,

Soy nueva tanto aquí, como en programación.

Estoy haciendo un buscador que lea de una base de datos, que como resultado estara separado en 2 partes. Uno muestre un indice (tipo yahoo) y de ahí uno pueda elegir que datos ver más detalladamente, que sería el dos... el problema que tengo es que en la segunda parte (para ver más detalladamente), me dice:

You have an error in your SQL syntax near '' at line 1

y lo que tengo en la linea 1 del codigo es:

1<?php
2$con = mysql_connect("localhost","xx","xx")
3 or die("¡No se ha podido establecer la conexión con el servidor!");

4 $resp = mysql_select_db("base_datos")
5 or die("¡No se ha podido seleccionar la base de datos!");
6
7$query_busqueda_contacto = "SELECT nombre, mail, ciudad, organizacion, donde_trab, asunto FROM contacto WHERE id_nombre = $id_nombre";
9$busqueda_contacto = mysql_query($query_busqueda_contacto, $con) or 10die(mysql_error());
11$row_busqueda_contacto = mysql_fetch_assoc($busqueda_contacto);
12$totalRows_busqueda_contacto = mysql_num_rows($busqueda_contacto);
13?>

18<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">




Espero que me puedan ayudar y que no haya sido muy enredada mi explicacion.

De antemano,

gracias
  #2 (permalink)  
Antiguo 15/09/2004, 13:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Haz un echo de $query_busqueda_contacto (puedes meterlo en el die() del mysql_error()). Asi veras que consulta intenta ejecutar.

Apostaria que la consulta que te muestra es

SELECT nombre, mail, ciudad, organizacion, donde_trab, asunto FROM contacto WHERE id_nombre =

Es decir, que no te coge la variable $id_nombre. Por lo que veo, asumes register_globals a ON y que el parametro donde pasas el valor se llama id_nombre. Si no es asi, ahi esta el error.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 15/09/2004, 13:40
Avatar de Funk  
Fecha de Ingreso: septiembre-2003
Ubicación: BA - Argentina
Mensajes: 102
Antigüedad: 14 años, 3 meses
Puntos: 0
Proba con esto a ver si te funcona.


<?php
$con = mysql_connect("localhost","xx","xx")
or die("¡No se ha podido establecer la conexión con el servidor!");

$colname_busqueda_contacto = "1";
if (isset($HTTP_GET_VARS['$id_nombre'])) {
$colname_busqueda_contacto = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['$id_nombre'] : addslashes($HTTP_GET_VARS['$id_nombre']);
}
mysql_select_db($base_datos, $con);
$query_busqueda_contacto = sprintf("SELECT nombre, mail, ciudad, organizacion, donde_trab, asunto FROM contacto WHERE id_nombre = %s", $colname_busqueda_contacto);
$busqueda_contacto = mysql_query($query_busqueda_contacto, $cnx_mecca) or die(mysql_error());
$row_busqueda_contacto = mysql_fetch_assoc($busqueda_contacto);
$totalRows_busqueda_contacto = mysql_num_rows($busqueda_contacto);
?>
<html>
<head>
<title>Page Name</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

</body>
</html>
<?php
mysql_free_result($busqueda_contacto);
?>

te estabas olvidando de llamar a la conexion en el mysql select
__________________
Walter Bove
Diseñador Multimedial
Arteuz Comunicación Multimedial
Funk Blog Job
  #4 (permalink)  
Antiguo 16/09/2004, 14:55
Bru
 
Fecha de Ingreso: septiembre-2004
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Mensaje

Hola Josemi,

Si creo haber entendido bien, lo que hice o cambie fue:

<?php $con = mysql_connect("localhost","xx","xx")
or die("¡No se ha podido establecer la conexión con el servidor!");

$resp = mysql_select_db("base de datos")//cambiar base de datos
or die("¡No se ha podido seleccionar la base de datos!");

mysql_select_db($resp, $con); //no se si esa linea es innecesaria o no...
$query_busqueda_contacto = "SELECT id_nombre, nombre, mail, ciudad, organizacion, donde_trab, asunto FROM contacto WHERE id_nombre = $id_nombre";
$busqueda_contacto = mysql_query($query_busqueda_contacto, $con) or die(mysql_error($query_busqueda_contacto));$row_busqueda_contacto = mysql_fetch_assoc($busqueda_contacto);
$totalRows_busqueda_contacto = mysql_num_rows($busqueda_contacto);
?>


Coloque o le pedi en SELECT el id_nombre y coloque el en el die: or die(mysql_error($query_busqueda_contacto));

pero me sale en la pantalla:
Parse error: parse error, expecting `')'' in c:\foxserv\www\2015\sin_excusas2015\middleframe_fi les\detalle_bd.php on line 24

la cual es: $busqueda_contacto = mysql_query($query_busqueda_contacto, $con) or die(mysql_error(echo $query_busqueda_contacto));

El problema que tengo, es que lo estoy haciendo a mano... o mejor dicho tratando de hacerlo a mano, porque me dice que tiene un error indefinido, dreamweaver cuando trato de conectarme con la base de datos directamente.

Gracias por haber respondido el mensaje anterior y espero no haber sido muy enredada, pero todavía no entiendo mucho de esto
  #5 (permalink)  
Antiguo 16/09/2004, 15:13
Bru
 
Fecha de Ingreso: septiembre-2004
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Hola Funk,

Puse este codigo,en vez del otro

<?php
$con = mysql_connect("localhost","xx","xx")
or die("¡No se ha podido establecer la conexión con el servidor!");

$colname_busqueda_contacto = "1";
if (isset($HTTP_GET_VARS['$id_nombre'])) {
$colname_busqueda_contacto = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['$id_nombre'] : addslashes($HTTP_GET_VARS['$id_nombre']);
}
mysql_select_db($base_datos, $con);
$query_busqueda_contacto = sprintf("SELECT nombre, mail, ciudad, organizacion, donde_trab, asunto FROM contacto WHERE id_nombre = %s", $colname_busqueda_contacto);
$busqueda_contacto = mysql_query($query_busqueda_contacto, $cnx_mecca) or die(mysql_error());
$row_busqueda_contacto = mysql_fetch_assoc($busqueda_contacto);
$totalRows_busqueda_contacto = mysql_num_rows($busqueda_contacto);
?>


Y me arroja el siguiente problema

Warning: Supplied argument is not a valid MySQL-Link resource in c:\foxserv\www\2015\sin_excusas2015\middleframe_fi les\detalle_bd.php on line 11

La linea 11 es:
$query_busqueda_contacto = sprintf("SELECT nombre, mail, ciudad, organizacion, donde_trab, asunto FROM contacto WHERE id_nombre = %s", $colname_busqueda_contacto);

Lo que trate de buscar, y perdona mi ignorancia, pero no pude encontrar, la variable $cnx_mecca y no sé para que es (pregunto para aprender )

Gracias por haber respondido a mi duda anterior

Bru
  #6 (permalink)  
Antiguo 16/09/2004, 16:52
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 14 años, 7 meses
Puntos: 35
loading............

Lo que pasa es esto.
Código PHP:
$query_busqueda_contacto sprintf("SELECT nombre, mail, ciudad, organizacion, donde_trab, asunto FROM contacto WHERE id_nombre = %s"$colname_busqueda_contacto); 
Ahí tienes tu consulta en una variable entonces cuando la llamas.
Código PHP:
$busqueda_contacto mysql_query($query_busqueda_contacto$cnx_mecca) or die(mysql_error()); 
La query lo está tomando como

Código PHP:
mysql_query(SELECT nombremailciudadorganizaciondonde_trabasunto FROM contacto WHERE id_nombre = %s", $colname_busqueda_contacto); 
Cosa que es incorrecta ponla de esta manera.
Código PHP:
$busqueda_contacto mysql_query("$query_busqueda_contacto") or die(mysql_error()); 
Tambien la consulta para la BUSQUEDA está mal segun yo.
Revisa eso hay una COMA por demás.



connection closed.
__________________

Maborak Technologies
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 05:19.