2012-03-06 8 views
10

byłem staringly Blanky na tego błędu i nie wydaje się wiedzieć, na czym polega problem is.When uruchomić kwerendę i uzyskać ten błąd:nieoczekiwany T_ENCAPSED_AND_WHITESPACE, oczekując T_STRING lub T_VARIABLE lub T_NUM_STRING błędzie

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 = "UPDATE tabela SET commodity_quantity = $ st gdzie user = $ wiersze [user]";' – Gordon

+0

[patrz rozdział o zmiennej parsowania w ciągi] (http://php.net/manual /en/language.types.string.php#language.types.string.parsing). I miejmy nadzieję, że udało ci się zdezynfekować te wartości, zanim wstawisz je do zapytania zamiast używać gotowych instrukcji. – Gordon

Odpowiedz

25

spróbować tej

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

dzięki, udało się. Teraz powiedzmy, że chcę aktualizować więcej niż jeden wiersz, jak to zrobić, ponieważ ten kod nie działa: echo $ sqlupdate1 = "Tabela UPDATE SET commodity_quantity = $ qty AND name = $ nazwa WHERE użytkownik = '". $ wiersze [' użytkownik ']. "'"; – che

4

Spróbuj

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

trzeba nawiasów klamrowych dostępu tablicy w podwójnych cudzysłowach.

+1

Nie trzeba dodawać nawiasów klamrowych. możesz po prostu pominąć pojedyncze cudzysłowy. – Gordon

+0

Przesuń wspornik przed znakiem dolara – MMM

1

Zmień kod na.

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

Wystąpił błąd składniowy w zapytaniu.

+0

dzięki, to działało.Ale teraz powiedzmy, że chcę zaktualizować więcej niż jeden wiersz, jak to zrobić, ponieważ ten kod nie działa: echo $ sqlupdate1 = " UPDATE table SET commodity_quantity = $ qty AND name = $ nazwa WHERE użytkownik = '". $ Rows [' user ']."' "; – che

+0

Aby to zobaczyć. http://stackoverflow.com/questions/3432/multiple-updates-in-mysql i http://www.tizag.com/sqlTutorial/sqlupdate.php – Milap

7

Użyj {przed znakiem $. A także dodać funkcję addslashes, aby uniknąć znaków specjalnych.

$sqlupdate1 = "UPDATE table SET commodity_quantity=".$qty."WHERE user=".addslashes($rows['user'])."'"; 
Powiązane problemy