Обновите MySQL, используя ввод формы HTML и php

0

У меня есть входящие данные MYSQL в вводах формы HTML при открытии страницы. Когда я нажимаю кнопку обновления после изменения информации, операция обновления выполняется успешно, но данные не обновляются.

<?php


$servername = "";
$username = "";
$password = "";
$dbname = "";

$baglan = mysqli_connect($servername,$username,$password,$dbname) or die(myslqi_error());


$place = $_POST['n_place'];
$description = $_POST['n_description'];
$latitude = $_POST['lat'];
$longitude = $_POST['long'];
$kayitliyer = $_POST['search_new_places'];
$yetkiliad = $_POST['n_yetkiliad'];
$magazaad = $_POST['n_magazaad'];
$telefon = $_POST['n_telefon'];
$yetkilitelefon = $_POST['y_telefon'];
$derece = $_POST['derece'];
$country = $_POST['country'];


$sql =  "UPDATE tbl_places SET place='$place',description='$description',lat='$latitude', lng='$longitude', kayitliyer='$kayitliyer',
yekiliad='$yetkiliad', magazaad='$magazaad', telefon='$telefon', yetkilitelefon='$yetkilitelefon', derece='$derece' WHERE place_id='$gID' ";



if (mysqli_query($baglan,$sql)) {
  echo '<br/><div class="container"><div class="alert alert-success" role="alert">
              Kayıt Güncelleme <b>Başarılı :-)</b> <a href=javascript:history.back(-1)>Geri Dön</a>
             </div></div> ';
}else {
  echo '<br/><div class="container"><div class="alert alert-danger" role="alert">
              Güncelleme İşlemi <b>Başarız!</b> <a href=javascript:history.back(-1)>Geri Dön</a>
             </div></div>'. mysqli_error($baglan);
}



?>

Форма HTML-страницы SELECT Query.Thanks для вашего ответа. Я получаю значение "$ gID" на странице формы HTML, где я ввел данные БД с помощью запроса SELECT.UPDATE

  <?php
 //UPDATE ID
   $gID = $_GET["place_id"];

   include ("baglanti.php");

 $sorgu = mysqli_query($baglan,"select * from tbl_places where place_id='$gID'");


  while($goster = mysqli_fetch_array($sorgu)){
  $grupadi = $goster["place"];
  $id = $goster["place_id"];
  $desc = $goster["description"];
  $adres = $goster["kayitliyer"];
  $yetkiliad = $goster["yekiliad"];
  $magazaad = $goster["magazaad"];
  $telefon = $goster["telefon"];
  $yetkilitelefon = $goster["yetkilitelefon"];
  $derece = $goster["derece"];
  $country = $goster["country"];
  $lat =$goster["lat"];
  $long = $goster["lng"];
  }
 ?>
<!DOCTYPE html>
<html lang="tr">
<head>
  • 0
    Используйте оператор подготовить, чтобы избежать инъекции SQL
  • 3
    WHERE place_id='$gID' откуда вы получаете значение $gID ?
Показать ещё 4 комментария
Теги:

1 ответ

-2

Вы должны использовать PDO для этого, для обеспечения безопасности и очистки кода. Кроме того, и без дополнительной информации о том, откуда $gID, я бы попытался удалить одинарные кавычки вокруг значения, по сравнению с которым он, по-видимому, является целым числом, а не строкой:

$sql =  "... WHERE place_id=$gID";
  • 0
    На самом деле нет никакой разницы между использованием mysqli_ или PDO_ - реальная разница заключается в использовании prepared statements а не в их использовании. Подготовленные операторы могут использоваться как с mysqli_, так и с PDO_. Таким образом, использовать «PDO для безопасности» не соответствует действительности. Речь идет об использовании «подготовленных заявлений для безопасности» - PDO и подготовленные заявления не одно и то же !!! bobby-tables.com
  • 0
    PDO заставляет вас использовать готовые заявления, а mysqli - нет. Это одна из причин, по которой я предпочитаю PDO, и причина, по которой я рекомендую его.
Показать ещё 12 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню