2016-10-17 107 views
-4

這是我的php代碼嘗試從表單插入數據到數據庫中,但我在插入行中出現錯誤。在PHP中,我嘗試使用INSERT命令時出現錯誤

if(isset($_POST['bankname'])) 
{ 

    $bname=$_POST['bankname']; 

    $amt=$_POST['amount']; 

    $cond=$_POST['cond']; 

    $medi=$_POST['mediate']; 

    $sql = "INSERT INTO dr (bankname, amount, cond, mediate)  VALUES('$bname','$amt','$cond', '$medi')"; 

    if ($conn->$sql=== TRUE) 
    { 
     echo "New record created successfully"; 
    } 
    else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 

    echo "<br/>Form Submitted succesfully"; 
} 

我得到如下錯誤

Error: INSERT INTO dr (bankname, amount, cond, mediate) VALUES ('', '', '----choose----', '')

+2

請發佈您的代碼和準確的錯誤信息。 – Ekin

+1

請發佈您的代碼 – tarun14110

+0

'$ conn - > $ sql'是無意義的。實際上,整個條件沒有任何意義:'if($ conn - > $ sql === TRUE)'。你甚至沒有執行查詢,所以我不明白,你試圖檢查什麼和爲什麼。我猜你也沒有。你知道你的代碼應該做什麼嗎? –

回答

1
string mysql_real_escape_string(string unescaped_string, 
           resource link_identifier= =NULL); 

逃逸的unescaped_string特殊字符,並考慮到當前字符集的連接,從而可以安全地放置在一個的mysql_query。如果要插入二進制數據,則必須使用此功能。 參數

unescaped_string 要轉義的字符串。

link_identifier MySQL連接。如果未指定鏈接標識符,則假定由mysql_connect打開的最後一個鏈接。如果找不到這樣的鏈接,它將嘗試創建一個,就好像mysql_connect沒有參數一樣被調用。如果未找到或建立連接,則會生成E_WARNING級別錯誤。

返回值

返回轉義字符串,或者在錯誤FALSE。

錯誤/異常

執行此函數不存在也將發射電平E_WARNING PHP誤差的MySQL連接。只有在存在有效的MySQL連接的情況下執行此功能。

例子

<?php 
// Connect 
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password') 
    OR die(mysql_error()); 

// Query 
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'", 
      mysql_real_escape_string($user), 
      mysql_real_escape_string($password)); 
?> 

參考鏈接https://dev.mysql.com/doc/apis-php/en/apis-php-function.mysql-real-escape-string.html

+0

但是Abhijit兄弟我沒有收到任何其他錯誤,但是錯誤顯示INSERT行 –

+1

您使用'---- choose ----'插入和--is sql註釋,因此請使用mysql_real_escape_string()函數來避免此類錯誤 –

+0

我只是嘗試提交沒有任何輸入 –

1

做工精細嘗試這個

見現場演示Here

見圖片 enter image description here

+0

sumit我已經完成了將數據存入數據庫,但這次我得到錯誤 –

相關問題