问题是我无法使用此代码更新数据库。似乎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à 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);
答案 0 :(得分:1)
从
改变WHERE id = " . $id);
要
WHERE id = :id ");