Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Não é possível atualizar dados do banco de dados MySQL


Você está usando duas variáveis ​​diferentes:

$parcelno na sua consulta UPDATE

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

ambas as variáveis ​​devem Combine. Caso contrário, toda a sua consulta falhará.

Adicione o relatório de erros ao topo do(s) seu(s) arquivo(s) logo após a abertura do tag, que ajudará durante os testes de pré-produção.
error_reporting(E_ALL);
ini_set('display_errors', 1);

Seu código atual está aberto para SQL injection . Use declarações preparadas , ou PDO com declarações preparadas .

Além disso, cito nkchandra em um comentário +1 (Se me é permitido):

"Irrelevante para sua pergunta, mas para sua informação, PHPMyAdmin não é um banco de dados, mas uma ferramenta para interagir com banco de dados como o mysql no seu caso"

Editar: Depois de ler seu comentário, parece que você precisará mudar para mysqli_ funções.

Esta é apenas uma correção rápida antes de aprender a usar instruções preparadas.
<?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

Além disso, conforme r3wt's comentário:Você também pode usar:
$result= $conn->query($sql) or die(mysqli_error()."\n");

ao invés de
$result=mysqli_query($conn,$sql) or die(mysqli_error()."\n");