2012-03-06 28 views
10

tôi đã staringly blanky tại lỗi này và dường như không thể biết những gì các vấn đề is.When tôi chạy truy vấn tôi nhận được lỗi này:T_ENCAPSED_AND_WHITESPACE bất ngờ, mong T_STRING hoặc T_VARIABLE hoặc T_NUM_STRING lỗi

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 bảng SET commodity_quantity = $ qty ĐÂU user = $ hàng [user]";' – Gordon

+0

Xem [chương về phân tích biến trong chuỗi] (http://php.net/manual /en/language.types.string.php#language.types.string.parsing). Và hãy hy vọng bạn đã khử trùng các giá trị này trước khi nội suy chúng vào truy vấn của bạn thay vì sử dụng các câu lệnh đã được chuẩn bị. – Gordon

Trả lời

25

thử này

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

cảm ơn, nó worked.but bây giờ hãy nói rằng tôi muốn để cập nhật nhiều hơn một hàng làm thế nào để tôi làm điều đó vì mã này dường như không hoạt động: echo $ sqlupdate1 = "UPDATE bảng SET commodity_quantity = $ qty AND name = $ name WHERE user = '". $ rows [' người dùng']."' "; – che

4

Hãy thử

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

Bạn cần dấu ngoặc nhọn để truy cập mảng trong chuỗi trích dẫn kép.

+1

bạn không cần phải thêm dấu ngoặc nhọn. bạn chỉ có thể bỏ qua các dấu nháy đơn. – Gordon

+0

Di chuyển dấu ngoặc phía trước ký hiệu đô la – MMM

1

Thay đổi mã của bạn thành.

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

Đã xảy ra lỗi cú pháp trong truy vấn của bạn.

+0

cảm ơn, nó đã hoạt động. Nhưng bây giờ hãy nói rằng tôi muốn cập nhật nhiều hơn một hàng làm cách nào để làm điều đó vì mã này dường như không hoạt động: echo $ sqlupdate1 = " CẬP NHẬT bảng SET commodity_quantity = $ qty AND name = $ name WHERE user = '". $ Rows [' user ']."' "; – che

+0

Để xem điều này. http://stackoverflow.com/questions/3432/multiple-updates-in-mysql và http://www.tizag.com/sqlTutorial/sqlupdate.php – Milap

7

sử dụng {trước $ dấu. Và cũng có thể thêm các hàm bổ sung để thoát khỏi các ký tự đặc biệt.

$sqlupdate1 = "UPDATE table SET commodity_quantity=".$qty."WHERE user=".addslashes($rows['user'])."'"; 
Các vấn đề liên quan