数据库未使用PDO进行更新

时间:2015-08-11 08:52:13

标签: php mysql pdo

我是PDO的新手,我正在开发一个小型电子商务网站。我想用tis代码做的是更新用户信息。我有一个login.php页面,我从中传递用户的id来更新,我用$ _GET ['id]检索该变量。但是,如果我在if循环之外检查提交的信息变量是可见的,否则没有..请问你能告诉我我的代码在哪里错了吗?查询已执行,因为我被重定向到“aggiorna.php?aggiorna = ok”但数据库未更新。

   function test_input($data) {
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);

   return $data;
   }

   //inserisci dati in tabella utenti
    if(isset($_GET['id']))
    $id = intval($_GET['id']);

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

     if(isset($_POST['nome'])) {
     $nome = test_input($_POST['nome']);
     } else {
     $error_nome = "Devi inserire il nome";
     }

     if(isset($_POST['cognome'])) {
      $cognome = test_input($_POST['cognome']);
      } else {
      $error_cognome = "Devi inserire il cognome";
      }

      if(isset($_POST['cf'])) {
      $cf = test_input($_POST['cf']);
      } else {
      $error_cf = "Devi inserire il codice fiscale";
      }

     if(isset($_POST['paese'])) {
     $paese = test_input($_POST['paese']);
     } else {
     $error_paese = "Devi inserire il paese";
     }

     if(isset($_POST['telefono'])) {
      $telefono = test_input($_POST['telefono']);
      } else {
      $error_telefono = "Devi inserire il telefono";
      }

      if(isset($_POST['indirizzo'])) {
      $indirizzo = test_input($_POST['indirizzo']);
      } else {
      $error_indirizzo = "Devi inserire l'indirizzo";
      }

     if(isset($_POST['cap'])) {
     $cap = test_input($_POST['cap']);
     } else {
     $error_cap = "Devi inserire il cap";
     }

    if(isset($_POST['citta'])) {
    $citta = test_input($_POST['citta']);
    } else {
    $error_citta = "Devi inserire il citta";
    }

    if(isset($_POST['provincia'])) {
     $provincia = test_input($_POST['provincia']);
    } else {
    $error_provincia = "Devi inserire la provincia";
    }

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

  $aggiorno->bindParam(':nome',$nome);
  $aggiorno->bindParam(':cognome',$cognome);
  $aggiorno->bindParam(':cf',$cf);
  $aggiorno->bindParam(':paese',$paese);
  $aggiorno->bindParam(':telefono',$telefono);
  $aggiorno->bindParam(':indirizzo',$indirizzo);
  $aggiorno->bindParam(':cap',$cap);
  $aggiorno->bindParam(':citta',$citta);
  $aggiorno->bindParam(':provincia',$provincia);
 $aggiorno->bindParam(':id',$id);


 $results = $aggiorno->execute();
 if($results)
 header("Location:aggiorna.php?aggiorna=ok");
else echo "Aggiornamento non eseguito";
} 

配置文件

require_once("config.php");

 try {
$db = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_NAME .";port=" .   DB_PORT,DB_USER,DB_PASS);
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$db->exec("SET NAMES 'utf8'");
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
 } catch (Exception $e) {
echo "Could not connect to the database.";
echo $e->getMessage();
exit;
}

0 个答案:

没有答案