php
  • mysql
  • sql
  • database
  • 2013-03-26 53 views 1 likes 
    1

    我現在有各種精密組件之一例如HTML形式是:試圖形成數據添加到MYSQL數據庫

    Please Enter First Name: <input type ="text" name="First_Name" /> <br /> 
    

    我試圖擺脫這種形式的信息到我的數據庫。但它似乎沒有輸入任何數據到數據庫中。代碼如下。

    <?php 
    
    $dbname='ecig'; 
    $dbhost='localhost'; 
    $dbpass='password'; 
    $dbuser='eciguser'; 
    
    
    $dbhandle = mysql_connect($dbhost, $dbuser, $dbpass) 
        or die("Unable to connect to MySQL"); 
    echo "Connected to MySQL<br>"; 
    
    
    //select a database to work with 
    $selected = mysql_select_db("ecig",$dbhandle) 
        or die("Could not select examples"); 
    
    
    
    $res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES('$_POST[First_Name]', yes)"); 
    mysql_close(); 
    
    if (array_key_exists ('check_submit', $_POST)) 
    
    echo "Your Name is : {$_POST['First_Name']}<br />"; 
    echo "Your Second Name is : {$_POST['Second_Name']}<br />"; 
    echo "Your Email Address is : {$_POST['Email_Address']}<br />"; 
    echo "Your Password Is : {$_POST['Password']}<br />"; 
    
    ?> 
    

    的問題是,因爲這是有關於我的數據庫沒有影響,是有什麼我失蹤,需要添加到我的SQL代碼,使PHP與SQL相互和輸入數據進行交互?

    或者我缺少INSERT INTO語句中的某些內容?

    無論如何,幫助將不勝感激,謝謝。

    +0

    尼斯[SQL注入孔](http://bobby-tables.com)。享受你的服務器pwn3d。 – 2013-03-26 05:24:45

    回答

    0

    查詢時出現錯誤,最後'yes'必須有引號。

    嘗試直接針對MySQL運行您的查詢,以確定您的語法是否正確,然後替換所需的值。

    應該像這樣爲你的例子:

    $res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]', 'yes')"); 
    

    諮詢了一下,淨化你的輸入,如果你是從用戶接收數據,否則你會很容易受到SQL注入攻擊。

    並使用mysqli_函數,因爲mysql_函數現在正式被棄用。你可以閱讀更多關於這些在幾乎任何網站,如w3schools.com

    插入與mysqli_的

    完整的示例:http://www.w3schools.com/php/php_mysql_insert.asp

    好運

    +0

    真棒感謝似乎工作,是的有人說mysqli非常相似,所以我會再看看,再次感謝。 – user2210046 2013-03-26 05:26:11

    +0

    不客氣,mysqli非常簡單,函數看起來很像mysql_。此外,如果您瞭解mysqli的準備好的陳述,則不需要擔心消毒用戶輸入。 請不要忘記選擇答案,如果它適合你=)乾杯。 – Ryoku 2013-03-26 05:28:49

    0

    使用mysql_real_escape_string()

    $res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('".mysql_real_escape_string($_POST['First_Name'])."', '".mysql_real_escape_string($_POST[Second_Name])."')"); 
    
    相關問題