2012-11-02 36 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

相关问题