Foros del Web » Programando para Internet » PHP »

Error al enviar datos a la DB

Estas en el tema de Error al enviar datos a la DB en el foro de PHP en Foros del Web. Hola, estoy armando un sistema de registro de usuarios y al enviar los datos a la base de c/usuario me aparece el siguiente error: Parse ...
  #1 (permalink)  
Antiguo 27/06/2007, 13:04
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
Error al enviar datos a la DB

Hola, estoy armando un sistema de registro de usuarios y al enviar los datos a la base de c/usuario me aparece el siguiente error:

Parse error: syntax error, unexpected '"' in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 23


este es el còdigo de mi archivo .php para que los usuarios dejen sus datos:

<?php


$link=mysql_connect("localhost", "345_mydbusername", "mypassword") or die ("No se logro la conexion...");
$db=mysql_select_db("345_mydbname");
$strqry="SELECT * FROM mytable";
$qry=mysql_query ($strqry);
$i=mysql_num_rows ($qry);
$row = 0;
$r = 0;

while($r < $i) {
mysql_data_seek ($qry, $r);
$row = mysql_fetch_object ($qry);
$r++;


function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("'","'",$mensaje);
$mensaje = str_replace('"',""",$mensaje);
$mensaje = str_replace("\\","\",$mensaje);
return $mensaje;
}

if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "")
{
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, nick escogido por otro usuario";
}
else
{
$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";
$sql .= ")";
mysql_query($sql);
echo "Registro exitoso!";
}
mysql_free_result($result);
}
else
{
echo "Debe llenar como minimo los campos de email y password";
}
mysql_close();
?>


Por favor si alguien podrìa ayudarme con esto!!!! GRACIAS!!!!
__________________
"Life goes on..."
  #2 (permalink)  
Antiguo 27/06/2007, 13:21
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Error al enviar datos a la DB

Saludos, creo que el problema está aqui... Prueba con ponerlo como comentario a ver que te dice...

##$mensaje = str_replace('"',""",$mensaje);

Suerte
  #3 (permalink)  
Antiguo 27/06/2007, 13:29
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
Re: Error al enviar datos a la DB

Lo modifiquè como me dijiste pero igual persiste el problema

quedò asì:

function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("'","'",$mensaje);
##$mensaje = str_replace('"',""",$mensaje);
$mensaje = str_replace("\\","\",$mensaje);
return $mensaje;
}


Ahora me tira el siguiente error:

Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 24
__________________
"Life goes on..."
  #4 (permalink)  
Antiguo 27/06/2007, 13:32
Avatar de g05l21  
Fecha de Ingreso: mayo-2006
Mensajes: 76
Antigüedad: 18 años
Puntos: 1
Re: Error al enviar datos a la DB

Tiene razón carmagedon, el problema está en esa sentencia

$mensaje = str_replace('"',""",$mensaje);

Estás poniendo comillas dobles para indicar una comilla doble, si quieres hacer eso deberías escapar la comilla doble (poner "\"") o usar comillas simples como tienes en la otra opción '"'.

A parte de eso comprueba el código, pero creo que te falta cerrar bien el while.


Y ya como consejo. Mira bien lo que estás haciendo, por que es algo relativamente sencillo que puede que estés liando más de la cuenta

Suerte!
__________________
.-. GeL/T0 .-. Quieres saber mas de mi? lee mi blog: http://g05l21.net
  #5 (permalink)  
Antiguo 27/06/2007, 13:45
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
Re: Error al enviar datos a la DB

GRACIAS A AMBOS ante todo!!! pero sigue sin funcionar me dice el mismo error en la linea 24!

ya revisè el cod pero no encuentro el error

ESTOY DESESPERADO!!!!
__________________
"Life goes on..."
  #6 (permalink)  
Antiguo 27/06/2007, 14:00
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Error al enviar datos a la DB

Hace una cosa... pone todo como comentario :
/*
function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("'","'",$mensaje);
$mensaje = str_replace('"',""",$mensaje);
$mensaje = str_replace("\\","\",$mensaje);
return $mensaje;
}
*/
Y prueba si te anda, si te anda, sacale los comentarios y pon comentario linea por linea y mira exactamente donde falla...
Suerte
  #7 (permalink)  
Antiguo 27/06/2007, 14:11
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
Re: Error al enviar datos a la DB

Gracias Carmagedom, pero no funca me tira el siguiente error:
aunque lo ponga como comentario

Fatal error: Call to undefined function quitar() in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 42
__________________
"Life goes on..."
  #8 (permalink)  
Antiguo 27/06/2007, 14:24
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Error al enviar datos a la DB

Claro... porque estás llamando a la funcion quitar()...desde otro lado...

Hace así y anda comprobando como te dije anteriormente...
Código:
function quitar($mensaje)
{
/*
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("'","'",$mensaje);
$mensaje = str_replace('"',""",$mensaje);
$mensaje = str_replace("\\","\",$mensaje);
return $mensaje;
*/
}
Suerte
  #9 (permalink)  
Antiguo 27/06/2007, 15:04
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
Re: Error al enviar datos a la DB

Hola amigooo

ahora este error:

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ftp'@'localhost' (using password: NO) in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 45

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 45

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 46

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ftp'@'localhost' (using password: NO) in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 58

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 58
Registro exitoso!
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 61

Warning: mysql_close(): no MySQL-Link resource supplied in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 67
__________________
"Life goes on..."
  #10 (permalink)  
Antiguo 27/06/2007, 15:39
Avatar de g05l21  
Fecha de Ingreso: mayo-2006
Mensajes: 76
Antigüedad: 18 años
Puntos: 1
Re: Error al enviar datos a la DB

Cita:
Iniciado por acousticgerman Ver Mensaje
Hola amigooo

ahora este error:

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ftp'@'localhost' (using password: NO) in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 45

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 45

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 46

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ftp'@'localhost' (using password: NO) in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 58

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 58
Registro exitoso!
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 61

Warning: mysql_close(): no MySQL-Link resource supplied in /home/httpd/alumnosenred.com.ar/public_html/registrar.php on line 67
Creo que está muy claro.
1er Warning, error de acceso. No estás metiendo bien el usuario y contraseña (o no los has metido) de la base de datos. Sin eso, no puedes hacer la consulta.

Y ya el resto son porque no tienes consultas para trabajar ya que no se realizan las querys.
__________________
.-. GeL/T0 .-. Quieres saber mas de mi? lee mi blog: http://g05l21.net
  #11 (permalink)  
Antiguo 27/06/2007, 17:36
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Error al enviar datos a la DB

Veo que tenés muchos errores en el código... si querés envía todo el script registrar.php si no es muy extenso...
Por lo visto, tenes problemas:
* Acceso a la BD. Tenés incorrecto el user y pass. Y por causa de ésto, la base de datos nunca en tu vida se va a conectar.
* mysql_fetch_array... pueden ser varias las causas, pero bueno, fijate que estén correctos los parámetros de esta funcion. Por ejemplo, mysql_fetch_array($consulta);
* Y los ultimos dos errores, pues la verdad muy claro no lo tengo, pero si no se conecta a la BD, uno de la solucion de los problemas puede ser eso...

Que tengas suerte...
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:22.