[英]Error with mysql_query in php - Can't insert information into database
我在php中寫了這個查詢:
$query = "insert into admin values($user,$pass,$email,$signature)";
mysql_query($query);
但是它有問題,無法在數據庫中插入信息。 為什么? 數據庫沒有任何錯誤。
您必須將字符串放在引號中。 以這種方式嘗試並檢查錯誤消息。
$query = "insert into admin values('$user','$pass','$email','$signiture')";
mysql_query($query) or die(mysql_error());
您需要引用字符串值:
$query = "insert into admin values('$user','$pass','$email','$signiture')";
同樣,您的值計數必須與列計數完全匹配,否則您必須明確列出列:
$query = "insert into admin (`username`, `password`, `email`, `signiture`) values('$user','$pass','$email','$signiture')";
同樣,“簽名”也有誤。
首先,您需要在變量周圍加上單引號。 另外,您需要確保正確地對變量進行了轉義,因為如果其中一個變量具有單引號,查詢仍將失敗。
$query = sprintf("insert into admin values('%s','%s','%s','%s')",
mysql_real_escape_string($user),
mysql_real_escape_string($pass),
mysql_real_escape_string($email),
mysql_real_escape_string($signiture));
mysql_query($query);
最后,正如其他用戶所指出的那樣,顯式列出要插入的列通常是一個好主意。
您需要像這樣用單引號括住您的值
$query = "insert into admin values('$user','$pass','$email','$signiture')";
如果上述方法不起作用,請嘗試使用以下語法:
INSERT INTO TABLE(col1,col2,col3) VALUES('val1','val2','val3')
試試這個(可能不會有所作為,但值得一試):
$query = "insert into admin (userColumnName, passColumnName, emailColumnName, sigColumnName) values ($user, $pass, $email, $signature)";
mysql_query($query);
您必須用userColumnName
的實際列名替換userColumnName
等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.