2012-03-06 10 views
10

sono stato staringly Blanky a questo errore e non riesco a sapere qual è il problema is.When ho eseguito la query ottengo questo errore:inaspettato T_ENCAPSED_AND_WHITESPACE, aspettandosi T_STRING o T_VARIABLE o T_NUM_STRING errore

unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING at this line:

$sqlupdate1 = "UPDATE table SET commodity_quantity=$qty WHERE user=$rows['user'] "; 
+0

'$ sqlupdate1 = "tabella SET UPDATE commodity_quantity = $ qty dove utente = $ rows [utente]";' – Gordon

+0

Vedere la [capitolo parsing delle variabili nelle stringhe] (http://php.net/manual /en/language.types.string.php#language.types.string.parsing). E speriamo che tu abbia disinfettato questi valori prima di interpolarli nella tua query invece di usare istruzioni preparate. – Gordon

risposta

25

provare questo

echo $sqlupdate1 = "UPDATE table SET commodity_quantity=$qty WHERE user='".$rows['user']."' "; 
+0

grazie, ha funzionato. Ma ora diciamo che voglio per aggiornare più di una riga come faccio perché questo codice non sembra funzionare: echo $ sqlupdate1 = "tabella UPDATE SET commodity_quantity = $ qty AND name = $ nome WHERE user = '". $ rows [' utente']."' "; – che

4

Prova

$sqlupdate1 = "UPDATE table SET commodity_quantity=$qty WHERE user={$rows['user']} "; 

È necessario parentesi graffe per l'accesso matrice in corde doppie virgolette.

+1

non è necessario aggiungere parentesi graffe. puoi semplicemente omettere le virgolette singole. – Gordon

+0

Sposta la staffa davanti al simbolo del dollaro – MMM

1

Cambia il tuo codice a.

<?php 
$sqlupdate1 = "UPDATE table SET commodity_quantity=".$qty."WHERE user=".$rows['user']; 
?> 

Errore di sintassi nella query.

+0

grazie, ha funzionato. Ma ora diciamo che voglio aggiornare più di una riga come faccio perché questo codice non sembra funzionare: echo $ sqlupdate1 = " Tabella UPDATE SET commodity_quantity = $ qty AND name = $ nome WHERE user = '". $ Rows [' user ']."' "; – che

+0

Per questo vedi questo. http://stackoverflow.com/questions/3432/multiple-updates-in-mysql e http://www.tizag.com/sqlTutorial/sqlupdate.php – Milap

7

Usa {prima di $ segno. E aggiungi anche la funzione addslashes per sfuggire ai caratteri speciali.

$sqlupdate1 = "UPDATE table SET commodity_quantity=".$qty."WHERE user=".addslashes($rows['user'])."'"; 
Problemi correlati