[英]INSERT Query Syntax Error in PHP and MySQL
我無法使用以下PHP語法在myTable MySQL表中插入ID和名稱。 id是整數字段,名稱是varchar字段。
$query="INSERT INTO myTable (id, name) VALUES (".$_SESSION["id"].", ".$_SESSION["name"].");";
以上語法有問題嗎? 按照我的觀點,因為如果插入硬編碼值,則可以正確插入。
是的,您需要使用單引號作為名稱
$query="INSERT INTO myTable (id, name) VALUES (" . $_SESSION["id"] . ", '" . $_SESSION["name"]."');";
另外, 請盡量不要使用字符串concatenation / substitution手動構造查詢 。 如果$_SESSION
(以某種方式)包含可以完全操縱查詢的內容,則可能很危險。
閱讀有關SQL注入以及PHP提供的內容的信息。
將字符串值放在引號內:
$query="INSERT INTO myTable (id, name) VALUES (".$_SESSION["id"].", '".$_SESSION["name"]."');";
字符串應用引號引起來
$query="INSERT INTO myTable (id, name) VALUES (".$_SESSION["id"].", '".$_SESSION["name"]."');";
name
是保留字。 在其周圍放反引號。 另外,您還需要在名稱變量(和id(如果不是整數))兩邊加上引號。
您的查詢應如下所示:
$query="INSERT INTO myTable (id, `name`) VALUES (".$_SESSION["id"].", '".$_SESSION["name"]."')";
用這個
$query="INSERT INTO myTable (id, name) VALUES ({$_SESSION["id"]},'{$_SESSION["name"]}');";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.