CRUD 페이지를 생성 중입니다. 나는 다음과 같은 코드로, 내 데이터베이스에 데이터를 삽입 할 수있었습니다 :PHP CRUD 'where 절'에서 알 수없는 열
$query="INSERT INTO user(USER_ID, PASSWORD, FIRST_NAME, LAST_NAME, CONTACT_NO, SHIPPING_ADDRESS, BILLING_ADDRESS, EMAIL) VALUES('$user_id', '$password', '$first_name', '$last_name', '$contact_no', '$shipping_address', '$billing_address', '$email')";
if(mysqli_query($con, $query))
{
echo "<center><font color=#FF0000>Record Inserted!</font></center><br>";
}
else{printf("error: %s\n", mysqli_error($con));}
}
}
그러나, 나는 삭제하거나 오류가 나타납니다 " '조항이 곳을'알 수없는 열"로 데이터를 편집 할 수 없습니다입니다. 나는 구글에서 솔루션을 찾는 시도했지만 그들은 작동하지 않았다. 내 코드에 오류가 있는지 누군가가 알 수 있습니까?
다음 코드
데이터베이스에 editting에 데이터를 위치 :$query="UPDATE user SET USER_ID='$user_id' , PASSWORD='$password', FIRST_NAME='$first_name', LAST_NAME='$last_name', CONTACT_NO='$contact_no', SHIPPING_ADDRESS='$shipping_address', BILLING_ADDRESS='$billing_address', EMAIL='$email' WHERE USER_ID=".$_POST['user_id'];
if(mysqli_query($con, $query))
{
echo "<center><font color=#FF0000>Record Updated!</font></center><br>";
}
else{printf("error: %s\n", mysqli_error($con));}
}
다음 코드는 데이터베이스에서 데이터를 삭제하기위한 것입니다 : 모든
if(isset($_GET['operation'])){
if($_GET['operation']=="delete")
{
$query="DELETE FROM user WHERE USER_ID=".$_GET['user_id'];
if(mysqli_query($con, $query))
{
echo "<center><font color=#FF0000>Record Deleted!</font></center><br>";
}
else{printf("error: %s\n", mysqli_error($con));}
}
}
문제가 무엇인지 어떻게 알 수 있습니까? 오류 메시지는 아주 분명합니다 ... 지정한 열 이름이 없습니다. 왜 안 그래? 너 자신과 다른 것을 아는 사람. 또한, 당신이하고있는 일은 대단히 불안합니다. 당신은 ** SQL injection 공격에 ** 활짝 열려 ** 당신은 이미 해킹 당했을 것입니다 **. 이 문제를 완전히 피하기 위해 PDO 또는 유사하게 준비/매개 변수화 된 쿼리를 사용하는 방법을 배웁니다. – Brad
WHERE 조건을 기반으로 USER_ID를 업데이트하는 이유는 무엇입니까? 이드를 바꾸고 있니? – shapeshifter
누군가가'1; truncate table user;를 USER_ID로 게시합니다. http://stackoverflow.com/questions/60174/how-to-prevent-sql-injection-in-php/60496#60496 – Orangepill