Member 14050971 Ответов: 1

Не удается обновить данные в базе данных


база данных не может обновить эти данные и
$customer_id =$_GET['customer_id'];
здесь есть ошибка. кто-нибудь, пожалуйста, помогите мне :'(

Что я уже пробовал:

<?php

include "config.php";
$link = mysqli_connect($h ,$u ,$p,$db);
$customer_id =$_GET['customer_id'];

$sql="select*from customer where customer_id='$customer_id' ";
$result=mysqli_query($link,$sql);
$check =mysqli_fetch_array($result);

if (isset($_POST['done']))
{

$cuname=$_POST['cuname'];
$phoneno=$_POST['phoneno'];
$email=$_POST['email'];
$address=$_POST['address'];

$sql="update customer set cuname='$cuname',phoneno='$phoneno',email='$email',address='$address' where customer_id='$customer_id'";

if(!$sql)
{
echo "error";
}
else {
echo "try again" ;
}
}


?>

<html>
<form  method=post onsubmit="return check()"  >
<input type="text" name="cuname" value="<?php echo $check['cuname'];?>" placeholder="name">
<input type="text" name="phoneno" value="<?php echo $check['phoneno'];?>" placeholder="phoneno">
<input type="text" name="email" value="<?php echo $check['email'];?>" placeholder="email">
<input type="text" name="address" value="<?php echo $check['address'];?>" placeholder="address">
<input type="submit" name="done" >

</form>
</html>
<a href="home.html">Home</a>

1 Ответов

Рейтинг:
2

Patrice T

Цитата:
база данных не может обновить эти данные и
$customer_id =$_GET['customer_id'];

здесь есть ошибка.

Какое сообщение об ошибке ?
Ошибка в коде перед обновлением идентификатора оператора достаточна для предотвращения любого обновления.
Также убедиться customer_id существуй в своей форме.

$sql="update customer set cuname='$cuname',phoneno='$phoneno',email='$email',address='$address' where customer_id='$customer_id'";

Не обязательно решение вашего вопроса, но у вас есть еще одна проблема.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]