-1
因此,這裏是我的代碼,不知道爲什麼它不工作已經看了幾個小時,指向任何人都可以弄明白。變量傳遞正常,並建立了服務器連接。瀏覽器給出的錯誤消息是,PHP不會更新/插入
您的SQL語法錯誤;檢查與您的MySQL服務器版本對應的手冊,以便在'用戶名'','2011年8月20日星期六02:02:22 PM','first','last','ssn'在第2行附近使用正確的語法
我用變量名稱替換了變量數據,這樣您就可以得到一個想法,所以首先說的是,瀏覽器實際上顯示了我輸入的名字。
謝謝!
$HTTP_COOKIE_VARS['username'] = $username;
$email = $_REQUEST['email'];
$Todaysdate = date('l jS \of F Y h:i:s A');
$firstname = $_REQUEST['firstname'];
$lastname = $_REQUEST['lastname'];
$ssn = $_REQUEST['ssn'];
$street = $_REQUEST['street'];
$city = $_REQUEST['city'];
$zip = $_REQUEST['zip'];
$phone1 = $_REQUEST['phone1'];
$phone2 = $_REQUEST['phone2'];
$hdhas = $_REQUEST['hdhas'];
$mi= $_REQUEST['mi'];
$query = ("INSERT INTO Members (username, email, todaysdate, firstname, lastname, ssn, street, city, zip, phone1, phone2, hdhas, mi)
VALUES('$username','$email', '$Todaysdate', '$firstname', '$lastname', '$ssn', '$street', '$city', '$zip', '$phone1', '$phone2', '$hdhas', '$mi')");
$checkuser = mysql_query("SELECT username FROM Members WHERE username='$username'");
if(mysql_num_rows($checkuser)>0)
{
mysql_query("UPDATE Members SET email='$email', username='$username', todaysdate='$Todaysdate', firstname='$firstname', lastname='$lastname', ssn='$ssn', street='$street', city='$city', zip='$zip', phone1='$phone1', phone2='$phone2', hdhas='$hdhas', mi='$mi' WHERE username = '$username'");
}
else {
mysql_query($query);
}
mysql_query($query) or die(mysql_error());
mysql_close();
'$ email'是一個完整的查詢。此外,重要的閱讀:http://php.net/manual/en/security.database.sql-injection.php –
歡迎MysqlInjection,來感覺像在家裏:)!閱讀http://php.net/manual/en/security.database.sql-injection.php – genesis
你在代碼中的SQL注入漏洞與Jupiter一樣大。也許你不小心插入了一些不好的值(即至少包含''')。 __LE__:哦,我發現它:'[..]正確的語法在'username''附近使用< - 插入的值是'username',這打破了查詢。 –