2017-01-10 80 views
-3
$query = " INSERT INTO token(Value, SenderId, UploadSize) VALUES (123,$myUser, $_FILES['file']['size']); 

這會導致錯誤:PHP語法錯誤:意外 ''(T_ENCAPSED_AND_WHITESPACE),期望標識符(T_STRING)或可變(T_VARIABLE)或數字(T_NUM_STRING)

Parse error: syntax error, unexpected " (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

我已經看過其他問題但我無法找到我自己的錯誤..請指教

+0

另見:http://stackoverflow.com/q/11321491/3933332 – Rizier123

回答

0

PHP不能訪問字符串數組索引。你要麼必須使用字符串連接或類似的printf/sprintf的:

/* string concatenation */ 
$query = " INSERT INTO token(Value, SenderId, UploadSize) VALUES (123,$myUser, ". $_FILES['file']['size'].");" 

/* sprintf */ 
$query = sprintf(" INSERT INTO token(Value, SenderId, UploadSize) VALUES (123,$myUser, %s);", $_FILES['file']['size']); 

更新:當然PHP可以在字符串中訪問數組數據,但你必須聲明它喜歡:

$query = " INSERT INTO token(Value, SenderId, UploadSize) VALUES (123,$myUser, ${_FILES['file']['size']});" 

請注意,{}使用。

相關問題