Visualizzazione risultati 1 fino 13 di 13

Discussione: errore sintattico SELECT

  1. #1
    Guest

    Predefinito errore sintattico SELECT

    Ciao a tutti... qualcuno mi sa dire perchè questo è un errore sintattico?

    Codice PHP:
    $query = "SELECT colonna FROM tabella WHERE nick = '$_SESSION['nome']'";
    come si corregge?

    anticipo ho gia provato con:

    Codice PHP:
    = '$_SESSION['nome']'
    = ".$_SESSION['nome']."
    = $_SESSION['nome']

  2. #2
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Codice PHP:
    $query = "SELECT colonna FROM tabella WHERE nick = '" . mysql_real_escape_string($_SESSION['nome']) . "'";

  3. #3
    Guest

    Predefinito

    ok primo ostacolo sorpassato... ma xke non mi fa un confronto corretto?

    Codice PHP:
    $query = "SELECT password FROM data_users WHERE nick = '".mysql_real_escape_string($_SESSION[nome])."'";
    $q=mysql_query ($query) or die("errore: ".mysql_error());
    $tmp=mysql_fetch_array($q);

    if (
    $tmp['password'] = md5($pass_old))
    echo
    "ok";
    else
    echo
    "no";
    la pass sul server è in criptata md5... quindi devo andare a criptare quella inserita dall'utante (pass_old)
    Ultima modifica di fendermx : 21-10-2009 alle ore 21.21.58

  4. #4
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    On line 13, e qual è la linea 13?

    Posta tutta la pagina (o almeno le prime 20 righe) così capiamo meglio il problema

    Comunque prova a sostituire:
    Codice PHP:
    echo "$passvecchia['password']";
    Con:
    Codice PHP:
    echo $passvecchia['password'];
    Quando ci sono delle variabili, è consigliato non mettere le virgolette

    EDIT: comunque mo il risultato della pagina che ci hai fatto vedere non è un errore: vedi link





    foreach
    Ultima modifica di foreach : 21-10-2009 alle ore 21.24.02
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  5. #5
    Guest

    Predefinito

    Codice PHP:
    <?
    include('../config.php');
    $db = mysql_connect($db_host, $db_username, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Se questo errore dovesse ripetersi contattare l'assistenza");
    mysql_select_db($database_name, $db)
    or die (
    "Errore nella selezione del database. Se questo errore dovesse ripetersi contattare l'assistenza");
    //carico pass vecchia
    $query = "SELECT password FROM data_users WHERE nick = '".mysql_real_escape_string($_SESSION[nome])."'";
    $q=mysql_query ($query) or die("errore: ".mysql_error());
    $tmp=mysql_fetch_array($q);

    if (
    $tmp['password'] = md5($pass_old))
    echo
    "ok";
    else
    echo
    "no";



    ?>

  6. #6
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Prova a fare questo e vedi se ti dà la password:

    Codice PHP:
    <?php
    include('../config.php');
    $db = mysql_connect($db_host, $db_username, $db_password);


    // togli questa cavolata
    //if ($db == FALSE) die ("Errore nella connessione. Se questo errore dovesse ripetersi contattare l'assistenza");


    mysql_select_db($database_name, $db);

    // togli quest'altra cavolata
    // or die ("Errore nella selezione del database. Se questo errore dovesse ripetersi contattare l'assistenza");


    //carico pass vecchia
    $query = "SELECT password FROM data_users WHERE nick = '".mysql_real_escape_string($_SESSION[nome])."'";
    $q=mysql_query ($query) or die("errore: ".mysql_error());
    $tmp=mysql_fetch_array($q);

    echo
    $tmp['password'];



    ?>




    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  7. #7
    Guest

    Predefinito

    niente... schermata bianca

  8. #8
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Prova a togliere l'escape facendo così:

    Codice PHP:
    <?php
    session_start
    ();
    include(
    '../config.php');
    $db = mysql_connect($db_host, $db_username, $db_password);


    // togli questa cavolata
    //if ($db == FALSE) die ("Errore nella connessione. Se questo errore dovesse ripetersi contattare l'assistenza");


    mysql_select_db($database_name, $db);

    // togli quest'altra cavolata
    // or die ("Errore nella selezione del database. Se questo errore dovesse ripetersi contattare l'assistenza");


    //carico pass vecchia
    $query = "SELECT password FROM data_users WHERE nick = '".$_SESSION['nome']."'";
    $q=mysql_query($query);
    $tmp=mysql_fetch_array($q);

    echo
    $tmp['password'];



    ?>
    Mancava anche session_start()






    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da foreach Visualizza messaggio
    Prova a togliere l'escape facendo così:

    Codice PHP:
    <?php
    session_start
    ();
    include(
    '../config.php');
    $db = mysql_connect($db_host, $db_username, $db_password);


    // togli questa cavolata
    //if ($db == FALSE) die ("Errore nella connessione. Se questo errore dovesse ripetersi contattare l'assistenza");


    mysql_select_db($database_name, $db);

    // togli quest'altra cavolata
    // or die ("Errore nella selezione del database. Se questo errore dovesse ripetersi contattare l'assistenza");


    //carico pass vecchia
    $query = "SELECT password FROM data_users WHERE nick = '".$_SESSION['nome']."'";
    $q=mysql_query($query);
    $tmp=mysql_fetch_array($q);

    echo
    $tmp['password'];



    ?>
    Mancava anche session_start()






    foreach
    per un attimo ho gioito.. ma niente.. schermo bianco.. ho controllato sul server, tabella riga e colonna esistono... e il campo non è vuoto...

  10. #10
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Allora vedi prima nel database se c'è una riga con quello che imposti in $_SESSION['nome'], poi facci sapere come imposti la variabile $_SESSION['nome'] e postaci il codice della pagina che lo fa.








    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  11. #11
    Guest

    Predefinito

    ahah ho risolto (confondevo user con nome... che idiota che son) ma....

    io sul server ho salvato la parola "xman" criptata in md5 che però ha una stringa diversa da quella generata da:

    echo md5($pass_old);

    dove pass_old contiente per appunto 'xman'


    come è possibile???
    Ultima modifica di fendermx : 21-10-2009 alle ore 22.07.45

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da fendermx Visualizza messaggio
    ok primo ostacolo sorpassato... ma xke non mi fa un confronto corretto?

    Codice PHP:
    $query = "SELECT password FROM data_users WHERE nick = '".mysql_real_escape_string($_SESSION[nome])."'";
    $q=mysql_query ($query) or die("errore: ".mysql_error());
    $tmp=mysql_fetch_array($q);

    if (
    $tmp['password'] = md5($pass_old))
    echo
    "ok";
    else
    echo
    "no";
    la pass sul server è in criptata md5... quindi devo andare a criptare quella inserita dall'utante (pass_old)
    Codice PHP:
    if ( $tmp['password'] = md5($pass_old))
    Questa è un'assegnazione non un confronto!!
    Codice PHP:
    if ( $tmp['password'] == md5($pass_old))
    Questo è un confronto!

  13. #13
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Piccolo appunto: Ricorda che per inserire un elemento di un vettore in una stringa direttamente, ovvero senza concatenazione (con il punto), devi usare le parentesi graffe:
    Codice PHP:
    echo "Nome: ".$_SESSION['nome']; // concatenazione
    echo "Nome: {$_SESSION['nome']}"; // inglobamento
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •