PHP / Mysql无法更新数据库

时间:2015-08-10 10:51:52

标签: php mysql pdo

问题是我无法使用此代码更新数据库。似乎UPDATE查询无法识别$id变量。我试着把它放在if循环中,但仍然不认识它。

这里我放置了更新数据库的代码,并从中检索数据以显示在表单字段中。脚本已执行,但它不会更新数据库。

<?php
session_start();
require_once("../config.php");
require_once("../database.php");

//inserisci dati in tabella utenti
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);

return $data;
}
$id=isset($_GET['id']) ? intval($_GET['id']) : "";


if ($_SERVER["REQUEST_METHOD"] == "POST" ) {

$error_message = "";


//primo controllo campi inseriti con funzione test_input
if(isset($_POST['nome'])) {
$nome = test_input($_POST['nome']);
} else {
$error_message = "Devi inserire il tuo nome.<br/>";
   }

if(isset($_POST['cognome'])) {
$cognome = test_input($_POST['cognome']);
} else { 
$error_message = "Devi inserire il tuo cognome.</br>";
   }


if(isset($_POST['paese'])) { 
$paese = test_input($_POST['paese']);
} else { 
$error_message = "Devi inserire il paese di residenza.</br>";
     } 

if(isset($_POST['provincia'])) {         
$provincia = test_input($_POST['provincia']);
} else { 
$error_message = "<p>Devi inserire la provincia di residenza.</br>";
    } 

if(isset($_POST['citta'])) {       
$citta = test_input($_POST['citta']);
} else { 
$error_message = "Devi inserire la citt&agrave; di residenza.</br>";
    } 

if(isset($_POST['telefono'])) {        
$telefono = intval(test_input($_POST['telefono']));
} else { 
$error_message = "Devi inserire un recapito telefonico.</br>";
    } 

if(isset($_POST['indirizzo'])) {       
$indirizzo = test_input($_POST['indirizzo']);
} else { 
$error_message = "Devi inserire il tuo indirizzo di residenza.</br>";
    } 

if(isset($_POST['cap'])) {       
$cap = intval(test_input($_POST['cap']));
} else { 
$error_message = "Devi inserire il tuo cap.</br>";
    } 

if(isset($_POST['cf'])) {       
$cf = test_input($_POST['cf']);
} else { 
$error_message = "Devi inserire il tuo codice fiscale.</br>";
    }
  //if(!isset($error_message)) {

  $results1 = $db->prepare("UPDATE utenti SET 
                                             nome = :nome, 
                                             cognome = :cognome, 
                                             cf = :cf,
                                             paese = :paese,
                                             provincia = :provincia,
                                             citta = :citta,
                                             indirizzo = :indirizzo,
                                             cap = :cap,
                                             telefono = :telefono
                          WHERE id = " . $id);
  $results1->bindParam(':nome',$nome);
  $results1->bindParam(':cognome',$cognome);
  $results1->bindParam(':cf',$cf);
  $results1->bindParam(':paese',$paese);
  $results1->bindParam(':provincia',$provincia);
  $results1->bindParam(':citta',$citta);
  $results1->bindParam(':indirizzo',$indirizzo);
  $results1->bindParam(':cap',$cap);
  $results1->bindParam(':telefono',$telefono);
  $results1->bindParam(':id',$id);


  if($results1->execute()) {
    header("Location:aggiorna.php?aggiorna=ok");
    exit;
  } else {
      $error_message = "Problema nell'inserimento nel database: ";
      header("Location:aggiorna.php?");
    }
  //}

    }


     $results = $db->prepare("SELECT * FROM utenti WHERE id= ?");
      $results->bindParam(1,$id);
      $results->execute();
      $dati = $results->fetch(PDO::FETCH_ASSOC);

1 个答案:

答案 0 :(得分:1)

改变
WHERE id = " . $id);

WHERE id = :id ");