Visualizzazione risultati 1 fino 4 di 4

Discussione: [php] errore in stringa query [era: Un aiutino veloce]

  1. #1
    Guest

    Predefinito [php] errore in stringa query [era: Un aiutino veloce]

    Ho questo codice, in pratica la variabile Testo del database è di tipo Text.

    Se eseguo il codice, mi segnala la riga dell'ultima query:

    Codice:
    Parse error: syntax error, unexpected T_VARIABLE in /membri/pikapuz/iscrizione3.php on line 103
    Ho poca confidenza col php, mi potreste dare una mano? E' da poco che lo uso, programmare so programmare, ma in altri linguaggi...

    Codice PHP:
    $id=1;
    $MySql = "SELECT * FROM Messaggi";
    $MySql .= " WHERE ID = '$id'";
    $Result = mysql_query($MySql);
    $rs = mysql_fetch_array($Result);


    $MySql = "INSERT Into Messaggi (Mittente, Destinatario, Testo, Spedito) VALUES ('Zaorn', '$OKNome', '$rs['Testo']', NOW())";
    Ultima modifica di pikapuz : 26-01-2009 alle ore 14.01.51 Motivo: + tag [code] e [php]

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    nelle stringhe delimitare da " ... " puoi inserire variabili, che verranno sostituite dal loro valore. Ma se le variabili che inserisci hanno nome complessi (e.g. array, oggetti, etc.) allora devi ancora delimitarle con parentesi graffe { ... }

    Ritagliando un pezzo di stringa sopra, andrebbe così:
    Codice PHP:
    "VALUES ('Zaorn', '$OKNome', '{$rs['Testo']}', NOW())"
    Una pratica saggia per evitare di fare questi errori è di usare graffe in eccesso, anche attorno a variabili che non ne avrebbero bisogno
    Codice PHP:
    "VALUES ('Zaorn', '{$OKNome}', '{$rs['Testo']}', NOW())"
    potrebbe esserti utile leggere la pagina sulle stringhe della guida del php
    Ultima modifica di dreadnaut : 26-01-2009 alle ore 01.16.27

  3. #3
    Guest

    Predefinito

    Purtroppo non sono ancora riuscito a risolvere, mi dà lo stesso errore... =__=

    Ma proprio non riesco a capire.

    Ad ogni modo ti ringrazio! ^__^

    Edit:
    Adesso ho questo problema, il codice funziona, però la query non dà errore, ma non inserisce l'istanza nel database... qualcuno sa spiegarmi? in pratica se metto una stringa normale ('stringa') nella query funziona, senò no.

    Non mi è servita molto la guida segnalata, perchè non mi illustra come và evidenziata la stringa nella query, non capisco proprio.

    Bisogna usare qualche funzione prima di passare la variabile TESTO?
    Ultima modifica di dreadnaut : 26-01-2009 alle ore 14.28.04

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    problemi di vista?
    Variable parsing

    When a string is specified in double quotes or with heredoc, variables are parsed within it.

    There are two types of syntax: a simple one and a complex one. The simple syntax is the most common and convenient. It provides a way to embed a variable, an array value, or an object property in a string with a minimum of effort.

    The complex syntax was introduced in PHP 4, and can be recognised by the curly braces surrounding the expression.
    etc etc etc, c'e' una sezione di discreta lunghezza sull'argomento, se ci dai una seconda occhiata, con esempi in quantita'.

    Riguardo al tuo problema: -boh-. Non ci hai dato abbastanza informazioni, ma la cosa piu' sana che puoi fare e' stampare a schermo la query prima di eseguirla, cosi' sai cosa c'e' dentro e cosa no.
    Ultima modifica di dreadnaut : 26-01-2009 alle ore 14.29.49

Regole di scrittura

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