2012-11-02 3 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' .... hmmm 다음 질문은 무엇이 될지 알고 있습니다. ** 왜/내 데이터에 나타나나요? ** 유일한 문제는 언제입니까? – itachi

답변

1

각 테이블에 emp_salary 열을 만듭니다.

mysql_ 기능 패밀리를 사용하면 더 이상 SQL 공격을받지 않아야합니다.

PDO를 사용하려면 mysqli 이상을 사용하십시오.

관련 문제