Foros del Web » Programando para Internet » PHP »

Error en consulta MySQL

Estas en el tema de Error en consulta MySQL en el foro de PHP en Foros del Web. Buenas, no sé exactamente como realizar esta consulta. Me da error de sintaxis: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $query = sprintf ( "SELECT * ...
  #1 (permalink)  
Antiguo 06/10/2010, 07:29
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Error en consulta MySQL

Buenas, no sé exactamente como realizar esta consulta. Me da error de sintaxis:

Código PHP:
Ver original
  1. $query = sprintf("SELECT * FROM topics ORDER BY = '".$_SESSION["idioma"]."' '"."_titol"."'");

$_SESSION["idioma"] me devolverá cs, ct o eng, segun el idioma, y a eso le quiero concatenar la string "_titol".


Gracias.
  #2 (permalink)  
Antiguo 06/10/2010, 07:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Error en consulta MySQL

Porque el order by no requiere un simbolo de = y tampoco requiere que lo encierres entre comillas ya que lo que debe verificar es el nombre de la columna que deseas verificar
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 06/10/2010, 07:33
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Error en consulta MySQL

Saludos

Prueba de la siguiente manera

Cita:
$query = sprintf("SELECT * FROM topics WHERE campo = '".$_SESSION["idioma"]."_titol"."'");

Tienes un error la sentencia como te indica bien abimaelrc en el ORDER BY

Hasta Pronto
__________________
:.:Nano.:: @nano_hard - Retornando al foro

Última edición por Nano_; 06/10/2010 a las 07:39
  #4 (permalink)  
Antiguo 06/10/2010, 07:45
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Error en consulta MySQL

Es verdad, el ORDER BY no lleva =, vaya fallo!

Otra cosita, ahora lo hace bien, pero en el SELECT solo me muestra dos de los tres resultados de la consulta. Como puede ser?

Código PHP:
Ver original
  1. <?php
  2.                                 $link = mysql_connect($server,$dbuser,$dbpass) or die ("Impossible connectar amb el servidor");
  3.                                 mysql_query("SET NAMES 'utf8'");
  4.                                 $query = sprintf("SELECT * FROM topics ORDER BY '".$_SESSION["idioma"]."_titol"."'");
  5.                                 $result = mysql_db_query($database,$query,$link) or die (mysql_error());
  6.                                 $array = mysql_fetch_array($result);
  7.                                
  8.                                 while ($array = mysql_fetch_array($result)){
  9.                             ?>
  10.                                     <option value="<?php echo $array["id_topic"]?>"><?php echo $array[$_SESSION["idioma"]."_titol"]?></option>
  11.                             <?php      
  12.  
  13.                                 }
  14.                                
  15.                             ?>
  #5 (permalink)  
Antiguo 06/10/2010, 07:50
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Error en consulta MySQL

Saludos

Borra esta linea

Código PHP:
$array mysql_fetch_array($result); 
Hasta Pronto
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #6 (permalink)  
Antiguo 06/10/2010, 07:52
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Error en consulta MySQL

Cierto! Eso porqué pasa?
  #7 (permalink)  
Antiguo 06/10/2010, 08:03
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Error en consulta MySQL

Saludos

mysql_fetch_array convierte el resultado de una consulta en un arreglo asociativo cada vez que se llama el mantiene en un apuntador el registro que convirtio en areglo

si pruebas haciendo esto

Código PHP:
$array mysql_fetch_array($result);  
$array mysql_fetch_array($result);  
while (
$array mysql_fetch_array($result)){

Te daras cuenta que en tu caso solo mostrara 1 resultado de los 3.

Hasta Pronto!.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #8 (permalink)  
Antiguo 14/10/2010, 03:33
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Error en consulta MySQL

Bueno para no abrir otro hilo os pongo otra consulta. Quiero hacer este insert condicional:
Código MySQL:
Ver original
  1. $query2 = "INSERT INTO partseccio (cs_descripcio) VALUES (pepe) WHERE clau_seccio = $seccio";

o

Código MySQL:
Ver original
  1. $query2 = "INSERT INTO partseccio (cs_descripcio) VALUES (pepe) WHERE clau_seccio ='".$seccio."'"


De las 2 maneras me sale error syntax to use near 'WHERE clau_seccio = 7' at line 1.

Entonces como se hace?
  #9 (permalink)  
Antiguo 14/10/2010, 03:49
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 8 meses
Puntos: 26
Respuesta: Error en consulta MySQL

Los inserts tienen esta estructura:
INSERT INTO "nombre_tabla" ("columna1", "columna2", ...)
VALUES ("valor1", "valor2", ...)

Como veras, en un insert no existe la clausula WHERE.
Mas info: http://sql.1keydata.com/es/sql-insert-into.php
  #10 (permalink)  
Antiguo 14/10/2010, 03:53
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Error en consulta MySQL

Entonces como hago un insert con el valor de un formulario pasado por $_POST para una fila en concreto? Se haría con una subconsulta dentro del INSERT, pero no encuentro como!!
  #11 (permalink)  
Antiguo 14/10/2010, 04:01
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 8 meses
Puntos: 26
Respuesta: Error en consulta MySQL

Como? No entendi lo que quisiste decir
Quieres decir esto?

INSERT INTO partseccio (cs_descripcio,clau_seccio )
VALUES ('pepe','$seccio')

No estoy muy seguro de las comillas, pero se entienda la idea.
  #12 (permalink)  
Antiguo 14/10/2010, 04:04
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Error en consulta MySQL

Bueno exactamente lo que quiero es algo asi:

- INSERTAR EN tabla (valor1, valor2) los valores pasados por formulario ($_tal, $_pascual) donde la fila1 de tabla sea igual a X.


Es decir, insertar los valores de dos campos de formulario en la fila que yo quiera de una tabla!!


No sé si te he liado más o que
  #13 (permalink)  
Antiguo 14/10/2010, 04:08
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 8 meses
Puntos: 26
Respuesta: Error en consulta MySQL

hombre, en la fila que tu quieras de la tabla?? eso se puede hacer O.o, primera noticia.
Si lo que tienes es una fila ya existente lo que puedes es modificarla.
Para que necesitas que se inserte el la fila x?
  #14 (permalink)  
Antiguo 14/10/2010, 04:17
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Error en consulta MySQL

Vale nada, no me hagas caso jaja ya está solucionado ;)

Esto es lo que hago, pero me da un error:

Código PHP:
Ver original
  1. $query2 = "INSERT INTO partseccio (cs_descripcio, clau_seccio) VALUES ('".$_POST["TNAYdescripcio$idioma"]."','".$seccio."')";
  2. $result2 = mysql_db_query($database,$query2,$link) or die (mysql_error());
  3. $array2 = mysql_fetch_array($result2);

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/html/workspace/gypco/root/admin/seccions/operaciones.php on line 3
  #15 (permalink)  
Antiguo 14/10/2010, 04:22
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 8 meses
Puntos: 26
Respuesta: Error en consulta MySQL

mysql_db_query() esta OBSOLETO!

Si quieres seleccionar una base de datos usa mysql_select_db();
Si quieres ejecutar una consulta para luego ponerla por ejemplo en el fetch array usa mysql_query();
http://es2.php.net/mysql_db_query

Etiquetas: mysql
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 22:39.