使用 PHP 更新数据库

Update database with PHP

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "dhandhar";
$conn = new mysqli($servername, $username, $password, $dbname);

?>
<?php
$id=$_GET['id'];

$name=$_POST['name']; 
$fathers_name=$_POST['fathers_name'];
$gotra=$_POST['gotra'];
$image=$_POST['image'];
$village=$_POST['village'];
$company_name=$_POST['company_name'];
$address1=$_POST['address1'];
$address2=$_POST['address2'];
$city=$_POST['city'];
$pincode=$_POST['pincode'];
$mobile1=$_POST['mobile1'];
$mobile2=$_POST['mobile2'];
$village_number=$_POST['village_number'];

if($_POST['edit2'])
{
$sql = "UPDATE members_data SET name='$name', fathers_name='$fathers_name', gotra='$gotra', image='$image', village=$village', company_name='$company_name', address1='$address1', address2='$address2', city='$city', pincode='$pincode', mobile1='$mobile1', mobile2='$mobile2', village_number='$village_number' )VALUES('$name', '$fathers_name', '$gotra', '$image', '$village', '$company_name', '$address1', '$address2', '$city', '$pincode', '$mobile1', '$mobile2', '$village_number' WHERE id= '".$id."'";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}


$sql = "DELETE FROM edit_members_data WHERE id= '".$id."'";

if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
$conn->close();
}
}
?>
<script type="text/javascript">window.location="admin_approve.php"</script>

我收到以下错误:

Error: UPDATE members_data SET name='Name test', fathers_name='testing name', gotra='NA', image='award3.jpg', village=NA', company_name='test_company', address1='test address', address2='', city='test City', pincode='test pincode', mobile1='000', mobile2='000', village_number='' )VALUES('Name test', 'testing name', 'NA', 'award3.jpg', 'NA', 'test_company', 'test address', '', 'test City', 'test pincode', '000', '000', '' WHERE id= '2' You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '', company_name='test_company', address1='test address', address2='', city='test' at line 1Record deleted successfully

缺少一个单引号:village=$village' 必须是 village='$village'

您还应该使用准备好的语句来防止 sql 注入,它使查询更具可读性。

请更新您的代码

WHERE id= '".$id."'";

更新查询中不需要 VALUES('$name', '$fathers_name', '$gotra', '$image', '$village', '$company_name', '$address1', '$address2', '$city', '$pincod,并且 village=$village'

处缺少 '

改变

$sql = "UPDATE members_data SET name='$name', fathers_name='$fathers_name', gotra='$gotra', image='$image', village=$village', company_name='$company_name', address1='$address1', address2='$address2', city='$city', pincode='$pincode', mobile1='$mobile1', mobile2='$mobile2', village_number='$village_number' )VALUES('$name', '$fathers_name', '$gotra', '$image', '$village', '$company_name', '$address1', '$address2', '$city', '$pincode', '$mobile1', '$mobile2', '$village_number' WHERE id= '".$id."'";

进入

$sql = "UPDATE members_data SET name='$name', fathers_name='$fathers_name', gotra='$gotra', image='$image', village='$village', company_name='$company_name', address1='$address1', address2='$address2', city='$city', pincode='$pincode', mobile1='$mobile1', mobile2='$mobile2', village_number='$village_number' ) WHERE id= '$id' ";