2014-11-16 55 views
-1

通過php插入數據到mysql數據庫。數據沒有通過php腳本插入到mysql數據庫中

<?php 

    session_start(); 

    $username1=$_GET['uname']; 
    $pwd1=$_GET['pwd']; 


    mysql_connect("localhost","root","")or die("cannot connect to my sql"); 
    mysql_select_db("webapp")or die("cannot connect database webapp"); 

    // CHANGE QUERY FOR INSERT 
    $sql="INSERT INTO login (uname, pwd) VALUES ('$username1', '$pwd1')"; 



    //$sql = "INSERT INTO login ". 
     // "(uname,pwd) ". 
      //"VALUES ". 
      //"('$username1','$pwd1')"; 


    // EXECUTE QUERY AND GET RESULT IN $RESULT 
    $result=mysql_query($sql); 

    //THIS TIME WE ARE NOT CHECKING $COUNT 
    if($result) 
    { 
    echo "You have successfully Inserted your new record"; 
    } 
    else 
    { 
    echo "Operation Failure please re-attempt"; 
    } 

?> 

當我執行這個腳本它不插入值到數據庫.. Database view in XAMPP

+6

你好,從你友好的鄰居SQL注入 – AlienWebguy

+0

你的錯誤信息是否被解僱? – schroeder

+0

通過GET方法提供用戶名/密碼字段通常是不好的做法,因爲它們在URL欄中可見。使用POST代替(它沒有加密,但至少在URL中不可見) – user2435860

回答

0

您的代碼似乎完全能夠充當你有打算。其他用戶提到,使用POST代替GET會更好。我還想補充一點,你應該清理這些輸入。

我已將您的代碼複製到我自己的服務器上。它工作正常。因此,我建議您重新考慮一下,您沒有爲root用戶使用密碼(Connecting to mysql in xampp without password)。我會仔細檢查參考表名稱和字段是否正確。我想最後仔細檢查權限寫入到數據庫中,並可能打印出的PHP錯誤頁面....

error_reporting(E_ALL); ini_set('display_errors', 1); 

,打開mysql的日誌記錄,如果尚未打開:http://www.pontikis.net/blog/how-and-when-to-enable-mysql-logs

檢查你的web服務器日誌(取決於您的設置)和服務器日誌,以查看是否有任何錯誤輸出到日誌。你的代碼應該工作。

而且還剛剛打印出您的查詢字符串,看它是否是走出預期:

print($sql); exit; 

我不知道,如果你得到任何東西打印到屏幕上,或者如果你實際上得到「您已成功插入你的新紀錄「。當然,那將是第一個出現問題的港口。也許$結果總是爲真/包含資源數據,無論插入到mysql是否工作。因此我也會打印出結果資源數組來查看實際返回的內容。