簡體   English   中英

由於語法錯誤,無法插入php mysql語句。

[英]INSERT INTO php mysql statement is not working due to incorrect syntax.

試圖弄清楚為什么以下代碼會產生此錯誤。

您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊以獲取正確的語法,以在第1行的“用戶名”,“密碼”)附近使用VALUES(“ Pangamma”,“ 39ef1e6d2fb0743000e5956362b6dc55”

密碼,電子郵件和用戶名均正確。 數據庫設置也是如此。 我已經在牆上w了三個小時。 可能有些簡單的事情。 我究竟做錯了什么?

/** returns a reason if it fails **/
        function addUser($user,$password,$email){
            global $db_database;global $tb_logins;global $tb_info; global $tb_licenses;
            $licensekey = md5($user.$password.$email);
            $hash = md5($user.'please'.$password.'the salt');
            if (mysql_num_rows(mysql_query("SELECT * FROM ".$tb_logins." WHERE username='$user'")) > 0){
                return 'error : username already in use.';
            }
            mysql_query("INSERT INTO `$db_database`.`$tb_logins` ( 'username' , 'password' ) VALUES ('$user', '$hash')") or die(mysql_error());
            mysql_query("INSERT INTO $tb_info (`username`,`email`,`licensekey`,`limit`) VALUES ('".$user."','".$email."','".$licensekey."','0')") or die(mysql_error());
            return 'success!';
        }

單引號( ' )僅用於值,而不用於選擇列。

您可以像下面這樣使用backtik( `

mysql_query("INSERT INTO `$db_database`.`$tb_logins` (`username` ,`password`) VALUES ('$user', '$hash')") or die(mysql_error());

或者您可以將其放置在沒有任何東西的地方

mysql_query("INSERT INTO `$db_database`.`$tb_logins` (username ,password) VALUES ('$user', '$hash')") or die(mysql_error());

對於第二個查詢,您使用limit作為列名。 請不要使用它,因為它是SQL的關鍵字。 因此,它將給您語法錯誤。

您必須在列名周圍使用反引號,而不是單引號。

INSERT INTO `$db_database`.`$tb_logins` ( 'username' , 'password' )

應該

INSERT INTO `$db_database`.`$tb_logins` ( `username` , `password` )

將您的第一個mysql_query語句更改為:

mysql_query("INSERT INTO '$db_database'.'$tb_logins' ( username , password ) VALUES ('$user', '$hash')") or die(mysql_error());

更改此行

mysql_query(“ INSERT INTO $db_database$tb_logins ('username','password')VALUES('$ user','$ hash')”)或die(mysql_error());

    mysql_query("INSERT INTO `$db_database`.`$tb_logins` ( `username` , `password` ) VALUES ('$user', '$hash')") or die(mysql_error());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM