2012-11-02 77 views
-2

以下是導致我在標題中粘貼錯誤的代碼。我很確定錯誤來自查詢,但無法弄清楚。無法輸入數據:'字段列表'中的未知列'emp_salary'

我試過的最後一件事是你可以在這裏看到的「真正的逃脫」功能,並且我在其他一些相同類型的問題中找到了答案。仍然是同樣的錯誤。我從編碼開始,可能只是愚蠢......無論如何,感謝您的幫助!

<?php 
if(isset($_POST['add'])) 
{ 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'boom'; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass); 
if(! $conn) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 

if(! get_magic_quotes_gpc()) 
{ 
    $emp_name = addslashes ($_POST['emp_name']); 
    $emp_address = addslashes ($_POST['emp_address']); 
    $emp_salary = addslashes ($_POST['emp_salary']); 
} 
else 
{ 
    $emp_name = $_POST['emp_name']; 
    $emp_address = $_POST['emp_address']; 
    $emp_salary = $_POST['emp_salary']; 
} 


$sql = "INSERT INTO employee (emp_name,emp_address,emp_salary) 
    VALUES('".mysql_real_escape_string($emp_name)."','".mysql_real_escape_string($emp_address)." ','".mysql_real_escape_string($emp_salary)." ')"; 

mysql_select_db('test_db'); 
$retval = mysql_query($sql, $conn); 
if(! $retval) 
{ 
    die('Could not enter data: ' . mysql_error()); 
} 
echo "Entered data successfully\n"; 
mysql_close($conn); 
} 
else 
{ 
?> 
+3

我們可以看到'employee'表的定義? –

+3

就像已經告訴你的錯誤信息:'emp_salary'不是表'employee'中的一列。仔細檢查字段/列的正確名稱,刪除任何拼寫錯誤。 – hakre

+0

'addslash' ....嗯,我知道你的下一個問題是什麼.... **爲什麼/出現在我的數據?**唯一的問題是什麼時候? – itachi

回答

1

在相應的表中創建名爲emp_salary的列。

您不能使用mysql_函數族,因爲您更傾向於使用這些函數進行SQL攻擊。

無論使用的mysqli或更好地使用PDO

相關問題