Mysql
 sql >> база данни >  >> RDS >> Mysql

Не мога да актуализирам данните от базата данни MySQL

Използвате две различни променливи:

$parcelno във вашата UPDATE заявка

и $parcel =$_REQUEST['parcel'];

и двете променливи трябва съвпада. Ако едно не стане, тогава цялата ви заявка ще се провали.

Добавете отчитане на грешки в горната част на вашите файлове веднага след отварянето на маркер, който ще помогне по време на предпроизводственото тестване.

error_reporting(E_ALL);
ini_set('display_errors', 1);

Настоящият ви код е отворен за SQL инжекция . Използвайте подготвени отчети , или PDO с подготвени изявления .

Освен това цитирам nkchandra в коментар +1 (ако мога):

„Неуместно за вашия въпрос, но за ваше знание, PHPMyAdmin не е база данни, а инструмент за взаимодействие с база данни като mysql във вашия случай“

Редактиране: След като прочетете коментара си, изглежда, че ще трябва да преминете към mysqli_ функции.

Това е само бързо решение, преди да се научите да използвате подготвени изрази.

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);


$DB_HOST = "xxx"; // replace with yours
$DB_USER = "xxx"; // replace with yours
$DB_PASS = "xxx"; // replace with yours
$DB_NAME = "xxx"; // replace with yours


$conn = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if($conn->connect_errno > 0) {
  die('Connection failed [' . $conn->connect_error . ']');
}

$id= "";
$parcelno = "";
$items = "";
if(isset($_REQUEST['id'])){ 
$id= mysqli_real_escape_string($conn,$_REQUEST['id']); }
if(isset($_REQUEST['parcel'])){ 
$parcelno = mysqli_real_escape_string($conn,$_REQUEST['parcel']); }
if(isset($_REQUEST['items'])){ 
$items = mysqli_real_escape_string($conn,$_REQUEST['items']); }


$sql="UPDATE parcel SET parcelno='$parcelno', items='$items' where id='$id'";
$result=mysqli_query($conn,$sql) or die(mysqli_error()."\n");

if (!$result)
    {
        throw new Exception($conn->error);
    }

else { echo "Success"; }

mysqli_close($conn); // close the connection

Освен това, според r3wt коментар:Можете също да използвате:

$result= $conn->query($sql) or die(mysqli_error()."\n");

вместо

$result=mysqli_query($conn,$sql) or die(mysqli_error()."\n");


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. findAll() от Sequelize не получава

  2. Направете WHERE ID IN с подзаявка, която връща низ от идентификатори

  3. Обработвайте рестартирането на mysql в SQLAlchemy

  4. Дублиране на MySQL таблица, индекси и данни

  5. Python SQL – Как да използвате SQLite, MySQL и PostgreSQL бази данни с Python