2015-07-20 73 views
-1

我只想在成功登錄後添加IP地址和用戶名,這是我的代碼。問題是它沒有繼續登錄後的配置文件,但當我刪除插入查詢它繼續配置文件我該怎麼辦?成功登錄後如何保存在數據庫中?

​​
+1

檢查錯誤。 –

+2

忘記關閉'$ username'的引號,並在'$ ip'上連接'''。username。''''。$ ip。''')');' – Saty

+0

我剛纔看到了^我最初說要檢查錯誤,並且會發現語法錯誤http://php.net/manual/en/mysqli.error.php - 有趣的是,某個點會在某人的某一天做什麼 –

回答

1

務必使用正確的格式的查詢是這樣的:

SELECT * FROM login WHERE id = '" . $id . "';

您正在執行的最後一個查詢,是成功的一半正確形成(你缺少點):

$query=mysqli_query($db,"insert into login_history_patient(PatientId,IP)Values('".$username.",'".$ip."')");

.'".$ip"'

0

在任何語言語法中,串聯字符串與變量的語法都很重要。 如果您要將變量放入查詢中,請確保引號正確啓動,。(點)用於連接以便結束字符串,使用。(點)將變量再次使用。(點),啓動字符串。

"string".$variable."string continues.." 

希望它有助於..

3

這裏的第一個最初的問題是,你不檢查錯誤,並假設成功了蝙蝠的權利。

這條線:

$query=mysqli_query($db,"insert into login_history_patient(PatientId,IP) 
Values ('".$username.",'".$ip"')"); 

被修改爲:

$query=mysqli_query($db,"insert into login_history_patient (PatientId,IP) 
Values ('".$username.",'".$ip"')") 

or die(mysqli_error($db)); 

就已經暗示了語法錯誤。

您可能也有使用:

$result = mysqli_query($db, $query); 

if (!$result) 
{ 
    throw new Exception(mysqli_error($db)); 
} 

else{ echo "Success."; } 

理想的情況下,使用mysqli_affected_rows()會給你一個更好的結果,如果曲ery確實是成功的。

使用MD5這是一個非常糟糕的主意,因爲它是舊的,並認爲破損,應該這個網站去或者是LIVE另外,你存儲的密碼。您也應該使用mysqli with prepared statementsPDO with prepared statements

對於密碼存儲,請使用CRYPT_BLOWFISH或PHP 5.5的password_hash()函數。對於PHP < 5。5使用password_hash() compatibility pack

  • 您的用戶會爲此感謝。
相關問題