Foros del Web » Programando para Internet » PHP »

unexpected ')' en consulta

Estas en el tema de unexpected ')' en consulta en el foro de PHP en Foros del Web. Hola, estoy en aprendizaje en esto de PHP, si me confundí de sección por favor que lo mueva un mod :P Lo que quiero hacer ...
  #1 (permalink)  
Antiguo 20/04/2012, 19:37
 
Fecha de Ingreso: abril-2012
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
unexpected ')' en consulta

Hola, estoy en aprendizaje en esto de PHP, si me confundí de sección por favor que lo mueva un mod :P

Lo que quiero hacer simplemente es que a travez de un formulario, donde se pone solamente el nombre de la cuenta, le aparezca el mail de la cuenta.

Intenté pero me sale este error:

Código PHP:
Parse errorsyntax errorunexpected ')' in **** on line 6 
Código:

Código PHP:
<?php 
$link
=mysql_connect("","","");
mysql_select_db("",$link);
 
$user $_POST['element_1'];
$sql="SELECT email FROM usuarios WHERE account='$user'");
$result mysql_query($sql,$link);
$row mysql_fetch_row($result);
echo 
"Mail enviado a <?php $_POST['row']; ?>";
?>
El formulario y los datos de la base de datos están correctos, necesito simplemente reparar el error que salta

Desde ya gracias ;)
  #2 (permalink)  
Antiguo 20/04/2012, 20:05
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: unexpected ')' en consulta

el paréntesis curvo no va al final, no se porque lo pusiste.

Código PHP:
Ver original
  1. $sql="SELECT email FROM usuarios WHERE account='$user'";

Así sería.
  #3 (permalink)  
Antiguo 20/04/2012, 20:23
 
Fecha de Ingreso: abril-2012
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Respuesta: unexpected ')' en consulta

Gracias por la respuesta.

Ahora me sale el siguiente error:

Código PHP:
Parse errorsyntax errorunexpected T_ENCAPSED_AND_WHITESPACEexpecting T_STRING or T_VARIABLE or T_NUM_STRING in *** on line 9 
Código:

Código PHP:
<?php
$link
=mysql_connect("host","user","pass");
mysql_select_db("db",$link);
 
$user $_POST['element_1'];
$sql="SELECT email FROM usuarios WHERE account='$user'";
$result mysql_query($sql,$link);
$row mysql_fetch_row($result);
echo 
"Mail enviado a <?php $_POST['row']; ?>";
?>
  #4 (permalink)  
Antiguo 20/04/2012, 20:42
 
Fecha de Ingreso: octubre-2010
Mensajes: 24
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: unexpected ')' en consulta

En error te dice en que línea se encuentra el fallo: on line 9

Es decir tu problema esta aquí:
Código PHP:
echo "Mail enviado a <?php $_POST['row']; ?>";
Y como solucion yo lo haría asi:
Código PHP:
echo "Mail enviado a".$_POST['row']; 
  #5 (permalink)  
Antiguo 20/04/2012, 20:55
 
Fecha de Ingreso: abril-2012
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Respuesta: unexpected ')' en consulta

No quiere andar :(

Code:

Código PHP:
<?php
$link
=mysql_connect("host","user","pass");
mysql_select_db("db",$link);
 
$user $_POST['element_1'];
$sql="SELECT email FROM usuarios WHERE account='$user'";
$result mysql_query($sql,$link);
$row mysql_fetch_row($result);
echo 
"Mail enviado a".$_POST['row']; 
?>
Sale el mensaje "Mail enviado a" pero no muestra el mail
  #6 (permalink)  
Antiguo 20/04/2012, 21:22
 
Fecha de Ingreso: octubre-2010
Mensajes: 24
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: unexpected ')' en consulta

Sin saber mucho lo que estas haciendo, creo que si cambias:
Código PHP:
echo "Mail enviado a".$_POST['row']; 
por:
Código PHP:
echo "Mail enviado a".$row['email']; 
Ojo estoy tirando flechas pues con el poco codigo y explicacion que das no puedo hacer mas.

Entiendo que el campo en la base de datos se llama email, por lo tanto debes imprimir en pantalla precisamente es el campo que consultaste a la BD, no el que viene en el post. Por tanto cuando haces:
Código PHP:
$row mysql_fetch_row($result); 
Estas metiendo lo que extrajiste de la BD en un array llamado "row"
luego lo imprimes haciendo mencion al indice que quieres imprimir...
  #7 (permalink)  
Antiguo 20/04/2012, 22:26
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: unexpected ')' en consulta

parece que la solucion correcta ya te la da el anterior post, sin embargo, habria que mirar de donde viene la variable POST, y si en verdad esta bien el formulario de donde proviene.

Lo que te recomiendo es que revises el codigo del FORM, o lo recojes de la consulta que se hace.
  #8 (permalink)  
Antiguo 21/04/2012, 06:34
 
Fecha de Ingreso: abril-2012
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Respuesta: unexpected ')' en consulta

Disculpas, les dejo todo el código:

Formulario:

Código PHP:
        <form id="form" class="shopapp"  method="post" action="plost.php">
            <
div class="form_description">
                <
p>Recuperar cuenta</p>
            </
div>
            <
br>
            <
div class="formulario2"
                <
ul >
                    <
div id='admin' style='margin:-5px 0 0 40px;'>
                        <
li id="li_1" >
                            <
label class="description" for="element_1">Cuenta</label>
                            <
div>
                                <
input id="element_1" name="element_1" class="element text medium" type="text" maxlength="32" value=""/>
                            </
div
                        </
li>
                        <
input id="saveForm" class="button_text" type="button" name="button1" value="Recuperar"  onclick="button_click()"/>
                    </
div>
                </
ul>
            </
div>
        </
form
plost.php:

Código PHP:
<?php
$link
=mysql_connect("host","user","pass");
mysql_select_db("db",$link);

$user $_POST['element_1'];
$sql="SELECT email FROM usuarios WHERE account='$user'"
$result mysql_query($sql,$link);
$row mysql_fetch_row($result);
echo 
"Mail enviado a".$row['email']; 
?>
  #9 (permalink)  
Antiguo 21/04/2012, 07:39
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: unexpected ')' en consulta

Hola @maisonna,
estas recuperando el resultado con mysql_fetch_row y estas leyendo como si fuera con mysql_fetch_array fijate la diferencia de ambas

mysql_fetch_row y mysql_fetch_array

Saludos.
  #10 (permalink)  
Antiguo 21/04/2012, 08:15
 
Fecha de Ingreso: abril-2012
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Respuesta: unexpected ')' en consulta

Bien, ya me aparece el mail

Pero si no existe la cuenta, no aparece el mensaje:

Código PHP:
<?php
    $link
=mysql_connect("host","user","pass"); 
    
mysql_select_db("db",$link); 

    
$user $_POST['element_1'];
    
$result mysql_query("SELECT email FROM usuarios WHERE account = '$user'");

    if (
$result
    {
        
$row mysql_fetch_row($result);
            
        echo 
$row[0]; // the email value
    
}
    else
    {
        echo 
"La cuenta no existe";
    }

    
mysql_close($link);
?>
  #11 (permalink)  
Antiguo 21/04/2012, 08:19
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: unexpected ')' en consulta

Ok eso lo puedes resolver verificando si la consulta arrojo registros.
con la funcion mysql_num_rows

Ej.

Código PHP:
Ver original
  1. if (mysql_num_rows($result) > 0)  
  2.     {
  3.         $row = mysql_fetch_row($result);
  4.              
  5.         echo $row[0]; // the email value
  6.     }
  7.     else
  8.     {
  9.         echo "La cuenta no existe";
  10.     }

Saludos.
  #12 (permalink)  
Antiguo 21/04/2012, 11:41
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: unexpected ')' en consulta

Tal y como dice gjx2 eso te ayudará mucho.
  #13 (permalink)  
Antiguo 21/04/2012, 12:19
 
Fecha de Ingreso: abril-2012
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Respuesta: unexpected ')' en consulta

Gracias a todos, ya solucioné todo.

Lo último, quisiera saber como agrego las comillas, es decir, quiero que el mensaje salga así:

La contraseña para la cuenta "hola" es "123456"

En este código:

Código PHP:
$body "La contraseña para la cuenta " .$row[0]. " es ".$row[1]."";
mail($row[2], "Recuperar contraseña"$body"FROM: ***"); 
  #14 (permalink)  
Antiguo 21/04/2012, 16:29
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: unexpected ')' en consulta

Una miradita a este articulo te puede ayudar.

Saludos.

Etiquetas: formulario, mysql, sql, unexpected, usuarios
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 23:14.