Foros del Web » Programando para Internet » PHP »

Error en mysql_query

Estas en el tema de Error en mysql_query en el foro de PHP en Foros del Web. hola buenas tengo esta consulta y me da un error.pero nose el porque. os pongo el codigo: <?php session_start(); $conexion=mysql_connect("localhost","root","1234") ; $db_from="usuarios"; $db_to="usuario_defecto"; $tb_from_name="usuarios"; $tb_to_name="conectados_chat"; ...
  #1 (permalink)  
Antiguo 19/09/2012, 03:01
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Error en mysql_query

hola buenas tengo esta consulta y me da un error.pero nose el porque.

os pongo el codigo:


<?php
session_start();

$conexion=mysql_connect("localhost","root","1234") ;
$db_from="usuarios";
$db_to="usuario_defecto";
$tb_from_name="usuarios";
$tb_to_name="conectados_chat";

mysql_select_db("usuario_defecto", $conexion);
$consulta1 = mysql_query("SELECT Id_user_friends,Name_User FROM amigos ",$conexion)or die(mysql_error());



mysql_select_db("usuarios", $conexion);
$consulta2 = mysql_query("SELECT Id_user,Estado FROM usuarios ",$conexion)or die(mysql_error());

$ID_user_friends= $consulta1["Id_user_friends"];
$Name_User= $consulta1["Name_User"];
$ID_user= $consulta2["Id_user"];
$Estado= $consulta2["Estado"];

if($ID_user_friend == $ID_user && $Estado=1)
{

mysql_query ("INSERT INTO $db_to.$tb_to_name SELECT * FROM $db_from.$tb_from_name WHERE Estado= 1 AND ID_User= $ID_user ")or die(mysql_error());

}
else {
echo fallo;
}

?>

me da este error:Unknown column 'Id_user_friends' in 'field list'

que parte tengo mal del codigo??
  #2 (permalink)  
Antiguo 19/09/2012, 03:14
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

vale olvidaros de ese error,ya se el motivo y solucionado.pero este si que no lo consigo.

el codigo:

Código PHP:
<?php

$conexion
=mysql_connect("localhost","usuario","pass");
$db_from="usuarios";
$db_to="usuario_defecto";
$tb_from_name="usuarios";
$tb_to_name="conectados_chat";

mysql_select_db("usuario_defecto"$conexion);
$consulta1 mysql_query("SELECT Id_user_friend,Name_User FROM amigos ",$conexion)or die(mysql_error());

mysql_select_db("usuarios"$conexion);
$consulta2 mysql_query("SELECT Id_user,Estado FROM usuarios ",$conexion)or die(mysql_error());

$ID_user_friends$consulta1["Id_user_friend"]; 
$Name_User$consulta1["Name_User"];
$ID_user$consulta2["Id_user"]; 
$Estado$consulta2["Estado"]; 

if(
$ID_user_friend == $ID_user && $Estado=1
{
    
    
mysql_query ("INSERT INTO $db_to.$tb_to_name SELECT *  FROM $db_from.$tb_from_name WHERE Estado= 1 AND ID_User= $ID_user ")or die(mysql_error());
    echo 
aceptada;
}
    else { 
    echo 
fallo;
}
?>
el fallo esta en:
Código PHP:
mysql_query ("INSERT INTO $db_to.$tb_to_name SELECT *  FROM $db_from.$tb_from_name WHERE Estado= 1 AND ID_User= $ID_user ")or die(mysql_error()); 
pero porque??que esta mal en todo el codigo?


el error que me da es : 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 '' at line 1
gracias de antemano!! espero que me podais ayudar.

Última edición por tasmany94; 19/09/2012 a las 03:15 Razón: faltaban datos
  #3 (permalink)  
Antiguo 19/09/2012, 03:29
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 2 meses
Puntos: 23
Respuesta: Error en mysql_query

¿Que estás intentando hacer en esa querry?
  #4 (permalink)  
Antiguo 19/09/2012, 03:36
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

Cita:
Iniciado por Fierox Ver Mensaje
¿Que estás intentando hacer en esa querry?
quiero que me coja los campos:ID_user,Name_User,Estado de La BD usuarios y la tabla Usuarios y me añada un registro a la tabla conectados_chat de la BD usuario_defecto pero que solo me añada el registro que tenga en el campo Estado 1 y que el ID_user sea el mismo que ID_user_Friend que pertenece a la tabla Amigos de la BD usuario_defecto. que esa es la variable que he hecho.creo.

nose si me explicado bien

y gracias!
  #5 (permalink)  
Antiguo 19/09/2012, 03:59
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Error en mysql_query

Te falta cerrar la consulta SELECT entre paréntesis me parece, pero no se si se puede hacer eso ahí nunca hice algo similar.

Pero no acabo de entender muy bien esa consulta, pero si se que las consultas dentro de las consultas entre paréntesis.


Lo mejor es que hagas un hecho de la consulta que vas a hacer
$consulta = "INSERT INTO $db_to.$tb_to_name SELECT * FROM $db_from.$tb_from_name WHERE Estado= 1 AND ID_User= $ID_user ";
echo $consulta;

Copias el código y lo pegas en phpmyadmin ves el error que te tira y ahí vas probando de arreglarlo. Así es muy dificil de ver
  #6 (permalink)  
Antiguo 19/09/2012, 04:03
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

Cita:
Iniciado por alyciashape Ver Mensaje
Te falta cerrar la consulta SELECT entre paréntesis me parece, pero no se si se puede hacer eso ahí nunca hice algo similar.

Pero no acabo de entender muy bien esa consulta, pero si se que las consultas dentro de las consultas entre paréntesis.
bueno gracias de todas formas..no entiendo lo de cerrar la consulta SELECT..alguien sabria como acerlo??
  #7 (permalink)  
Antiguo 19/09/2012, 04:04
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Error en mysql_query

Es que eso creo que no puede funcionar así viendolo mejor. Es mejor que hagas un SELECT antes del insert para buscar esos datos que quieres y los metas en variables, y luego ya haces el insert sin el select.
  #8 (permalink)  
Antiguo 19/09/2012, 04:32
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

Cita:
Iniciado por alyciashape Ver Mensaje
Es que eso creo que no puede funcionar así viendolo mejor. Es mejor que hagas un SELECT antes del insert para buscar esos datos que quieres y los metas en variables, y luego ya haces el insert sin el select.
muchas gracias..
podrias poner el codigo xfa? esk no se como acerlo la verdad..soi novatillo en php con consultas y eso

gracias!
  #9 (permalink)  
Antiguo 19/09/2012, 04:36
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 2 meses
Puntos: 23
Respuesta: Error en mysql_query

te falta el value, prueba asi:
Código PHP:
mysql_query ("INSERT INTO $db_to.$tb_to_name VALUES ( SELECT *  FROM $db_from.$tb_from_name WHERE Estado= 1 AND ID_User= $ID_user)")or die(mysql_error()); 
  #10 (permalink)  
Antiguo 19/09/2012, 04:40
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

aciendo el echo me da el mismo error en phpmyadmin,es la variable.porque en el echo me sale esto:

INSERT INTO usuario_defecto.conectados_chat SELECT * FROM usuarios.usuarios WHERE Estado= 1 AND ID_User=

falta la variable que e puesto. no sale..la variable esta mal puesta..como la aria?
  #11 (permalink)  
Antiguo 19/09/2012, 04:41
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

Cita:
Iniciado por Fierox Ver Mensaje
te falta el value, prueba asi:
Código PHP:
mysql_query ("INSERT INTO $db_to.$tb_to_name VALUES ( SELECT *  FROM $db_from.$tb_from_name WHERE Estado= 1 AND ID_User= $ID_user)")or die(mysql_error()); 
gracias pero me sige sin funcionar..

me da este error :

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 'SELECT * FROM usuarios.usuarios WHERE Estado= 1 AND ID_User= )' at line 1

creo que es la variable..puede ser?
  #12 (permalink)  
Antiguo 19/09/2012, 04:43
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 2 meses
Puntos: 23
Respuesta: Error en mysql_query

Cita:
Iniciado por tasmany94 Ver Mensaje
aciendo el echo me da el mismo error en phpmyadmin,es la variable.porque en el echo me sale esto:

INSERT INTO usuario_defecto.conectados_chat SELECT * FROM usuarios.usuarios WHERE Estado= 1 AND ID_User=

falta la variable que e puesto. no sale..la variable esta mal puesta..como la aria?
Mira como te lo he puesto mas arriba te deberia de fucnionar bien, de todas forams creo que es mas fácil hacerlo con un merge que con un insert, pero para gustos colores. Te dejo una web donde te dice como usar el merge.
http://www.mssqltips.com/sqlserverti...the-same-time/

Edito:
Okis pues genera la consulta aparte y las variables concatenalas en vez de incluirlas directamente en el string.

Última edición por Fierox; 19/09/2012 a las 04:44 Razón: aclaraciones
  #13 (permalink)  
Antiguo 19/09/2012, 04:50
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

Cita:
Iniciado por Fierox Ver Mensaje
Mira como te lo he puesto mas arriba te deberia de fucnionar bien, de todas forams creo que es mas fácil hacerlo con un merge que con un insert, pero para gustos colores. Te dejo una web donde te dice como usar el merge.
[URL="http://www.mssqltips.com/sqlservertip/1704/using-merge-in-sql-server-to-insert-update-and-delete-at-the-same-time/"]http://www.mssqltips.com/sqlservertip/1704/using-merge-in-sql-server-to-insert-update-and-delete-at-the-same-time/[/URL]

Edito:
Okis pues genera la consulta aparte y las variables concatenalas en vez de incluirlas directamente en el string.
a lo del merge..creo que si que deberia funcionar..pero como lo aria??

y lo de las variables..ya he hecho la consulta antes y e puesto la variable..
Código PHP:
mysql_select_db("usuario_defecto"$conexion);
$consulta1 mysql_query("SELECT Id_user_friend,Name_User FROM amigos ",$conexion)or die(mysql_error());

mysql_select_db("usuarios"$conexion);
$consulta2 mysql_query("SELECT Id_user,Estado FROM usuarios ",$conexion)or die(mysql_error());

$ID_user_friends$consulta1["Id_user_friend"]; 
$Name_User$consulta1["Name_User"];
$ID_user$consulta2["Id_user"]; 
$Estado$consulta2["Estado"]; 
o esto creo que es..no?

gracias
  #14 (permalink)  
Antiguo 19/09/2012, 04:50
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

Cita:
Iniciado por Fierox Ver Mensaje
Mira como te lo he puesto mas arriba te deberia de fucnionar bien, de todas forams creo que es mas fácil hacerlo con un merge que con un insert, pero para gustos colores. Te dejo una web donde te dice como usar el merge.
[URL="http://www.mssqltips.com/sqlservertip/1704/using-merge-in-sql-server-to-insert-update-and-delete-at-the-same-time/"]http://www.mssqltips.com/sqlservertip/1704/using-merge-in-sql-server-to-insert-update-and-delete-at-the-same-time/[/URL]

Edito:
Okis pues genera la consulta aparte y las variables concatenalas en vez de incluirlas directamente en el string.
a lo del merge..creo que si que deberia funcionar..pero como lo aria??

y lo de las variables..ya he hecho la consulta antes y e puesto la variable..
Código PHP:
mysql_select_db("usuario_defecto"$conexion);
$consulta1 mysql_query("SELECT Id_user_friend,Name_User FROM amigos ",$conexion)or die(mysql_error());

mysql_select_db("usuarios"$conexion);
$consulta2 mysql_query("SELECT Id_user,Estado FROM usuarios ",$conexion)or die(mysql_error());

$ID_user_friends$consulta1["Id_user_friend"]; 
$Name_User$consulta1["Name_User"];
$ID_user$consulta2["Id_user"]; 
$Estado$consulta2["Estado"]; 
o esto creo que es..no?

gracias
  #15 (permalink)  
Antiguo 19/09/2012, 05:22
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

creo que el problema es que no me coje la variable en la consulta..nose xk..xk aver..mirando el codigo.. tengo :
Código PHP:
if($ID_user_friend == $ID_user && $Estado1)
//y entonces ace la consulta.
else {
echo 
fallo;

osea..si la variable $ID_user_friend es igual a la variable $ID_user y la variable $Estado es 1..entonces me ara la consulta..sino..me devuelve fallo...el if por tanto esta bien..y parece ser que las variables $ID_user_friend y $ID_user y $Estado.. estan bien.
  #16 (permalink)  
Antiguo 19/09/2012, 05:25
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 2 meses
Puntos: 23
Respuesta: Error en mysql_query

lo de concatenar las variables me refiero a esto
Código PHP:
mysql_query ("INSERT INTO "$db_to .".".$tb_to_name ." VALUES ( SELECT *  FROM ".$db_from.".".$tb_from_name." WHERE Estado= 1 AND ID_User="$ID_user ." )")or die(mysql_error()); 
de todas formas para que te funcionace las dos tablas deberían tener los mismos campos.
  #17 (permalink)  
Antiguo 19/09/2012, 05:32
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

Cita:
Iniciado por Fierox Ver Mensaje
lo de concatenar las variables me refiero a esto
Código PHP:
mysql_query ("INSERT INTO "$db_to .".".$tb_to_name ." VALUES ( SELECT *  FROM ".$db_from.".".$tb_from_name." WHERE Estado= 1 AND ID_User="$ID_user ." )")or die(mysql_error()); 
de todas formas para que te funcionace las dos tablas deberían tener los mismos campos.
e probado y sale el mismo error que antes..

las tablas..tienen lo mismo..aver..

Usuarios: ID_user,Name_user,Estado

Amigos: ID_Friend,ID_user_friend,Name_user,Estado

Conectados_chat:ID_user,Name_user,Estado

si el ID_user_friend lo cambiara por Id_user..funcionaria.??

o que deberia acer??
  #18 (permalink)  
Antiguo 19/09/2012, 05:50
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 2 meses
Puntos: 23
Respuesta: Error en mysql_query

Creo que ya se pq el fallo.
Las tablas estan bien ya que la tabla Usuarios = a la tabla Conectados_chat
El fallo está en que el procedimeinto mysql_querry devuelve false o una variable del tipo resourse.
Para tratar los datos devueltos por mysql_querry tienes que usar procedimientos como:
http://php.net/manual/en/function.mysql-fetch-assoc.php
http://php.net/manual/en/function.mysql-fetch-row.php
http://php.net/manual/en/function.mysql-fetch-array.php
  #19 (permalink)  
Antiguo 19/09/2012, 06:00
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

Cita:
Iniciado por Fierox Ver Mensaje
Creo que ya se pq el fallo.
Las tablas estan bien ya que la tabla Usuarios = a la tabla Conectados_chat
El fallo está en que el procedimeinto mysql_querry devuelve false o una variable del tipo resourse.
Para tratar los datos devueltos por mysql_querry tienes que usar procedimientos como:
[URL="http://php.net/manual/en/function.mysql-fetch-assoc.php"]http://php.net/manual/en/function.mysql-fetch-assoc.php[/URL]
[URL="http://php.net/manual/en/function.mysql-fetch-row.php"]http://php.net/manual/en/function.mysql-fetch-row.php[/URL]
[URL="http://php.net/manual/en/function.mysql-fetch-array.php"]http://php.net/manual/en/function.mysql-fetch-array.php[/URL]
vale..entiendo el que utilizarlos..y mas o menos entiendo como pero nose hacer el codigo..nose cual usar..me podrias poner el codiigo de la consulta como seria??

muchas gracias de antemano y te doi karma luego!

edito:

por lo que he visto..seria así quizás??

Código PHP:
$result mysql_query ("INSERT INTO "$db_to .".".$tb_to_name ." VALUES ( SELECT *  FROM ".$db_from.".".$tb_from_name." WHERE Estado= 1 AND ID_User="$ID_user ." )"); 

while ( 
$row mysql_fetch_array $result MYSQL_BOTH )) { 
printf "ID: %s Name: %s" $row ], $row "name" ]); //aqui no se que debo poner.no entiendo esta linea.


mysql_free_result $result ); 

Última edición por tasmany94; 19/09/2012 a las 06:05 Razón: mas datos
  #20 (permalink)  
Antiguo 19/09/2012, 07:39
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

sigo sin saber como acerlo e buscado y nada .alguien me podria ayudar?nose si asi funcionaria o que.. gracias a todos.
  #21 (permalink)  
Antiguo 19/09/2012, 15:56
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 2 meses
Puntos: 23
Respuesta: Error en mysql_query

Código PHP:
$row mysql_fetch_array $result MYSQL_BOTH 
en vez de eso te aconsejo utilizar

Código PHP:
while ($row mysql_fetch_array($resultMYSQL_ASSOC)) {
    
printf("ID: %s  Name: %s"$row["id"], $row["name"]);

dentro de los [] van entre comillas los nombres de las columnas que devuelve la consulta. Por ejemplo
tenemos una cosulta que nos devuelve
id= 2800
name=paco
apellido= gonzalez
edad=45

el php seria asi
Código PHP:
while ($row mysql_fetch_array($resultMYSQL_ASSOC)) {
    
printf("ID: %s  Name: %s Apellido: %s  edad: %s"$row["id"], $row["name"],$row["apellido"], $row["edad"]);

  #22 (permalink)  
Antiguo 20/09/2012, 04:13
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Error en mysql_query

Cita:
Iniciado por Fierox Ver Mensaje
Código PHP:
$row mysql_fetch_array $result MYSQL_BOTH 
en vez de eso te aconsejo utilizar

Código PHP:
while ($row mysql_fetch_array($resultMYSQL_ASSOC)) {
    
printf("ID: %s  Name: %s"$row["id"], $row["name"]);

dentro de los [] van entre comillas los nombres de las columnas que devuelve la consulta. Por ejemplo
tenemos una cosulta que nos devuelve
id= 2800
name=paco
apellido= gonzalez
edad=45

el php seria asi
Código PHP:
while ($row mysql_fetch_array($resultMYSQL_ASSOC)) {
    
printf("ID: %s  Name: %s Apellido: %s  edad: %s"$row["id"], $row["name"],$row["apellido"], $row["edad"]);

graciias.ya lo tengo echo.lo solucione pero se me olvido ponerlo! gracias igualmente!

Etiquetas: mysql, query
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 12:14.