簡體   English   中英

表格不更新數據庫

[英]Form not updating database

我有一個從員工列表中填充的更新表單。 值正在傳遞但未在數據庫中更新。 這是我的代碼以及我所顯示的內容。

<?php

$con = mysql_connect("localhost","root","*******");
 if (!$con)
 {
  die('Could not connect: ' . mysql_error());
  }


$query = mysql_query("select * from backup");

 if(isset($_POST['update']))
 $id = $_POST['id'];
 $first = $_POST['first'];
$last = $_POST['last']; 
$store  = $_POST['store']; 
 $title  = $_POST['title']; 
 $title2  = $_POST['other']; 
 $phone  = $_POST['phone']; 
 $email  = $_POST['email'];
 $dept = $_POST['dept'];
 $bio   = $_POST['bio']; 

 $query="UPDATE backup SET first='$first', last='$last', store='$store',   title='$title', title2='$title2', phone='$phone', email='$email', bio='$bio' WHERE id='$id'";
 mysql_query($query);
 echo "Record Updated";
 mysql_close();
 print_r($_POST)




?>

這是結果

記錄UpdatedArray([id] => 1396 [first] => Charles [last] => Adams [store] => [dept] =>會計[title] =>會計文員[其他] => [電話] => 410 -555-1212 [email] => [email2] => [bio] =>查理於2009年8月開始。這是一個測試...... [提交] =>提交)

有人可以幫我解決我可能做錯的事嗎? 至於注射,我將在完成測試后修復它。 我知道這聽起來可能倒退,但我需要找出為什么這不起作用。

感謝您的幫助

您還應該選擇數據庫:

// make foo the current db
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}

但最重要的是,你應該使用MySQLi或PDO_MySQL。

這是因為,你忘了{ after if (isset(...))

此外,未選擇任何數據庫。

更正后的代碼如下:

<?php

$con = mysql_connect("localhost","root","*******");
mysql_select_db('DB_NAME');
 if (!$con)
 {
  die('Could not connect: ' . mysql_error());
  }


$query = mysql_query("select * from backup");

 if(isset($_POST['update'])) {
 $id = $_POST['id'];
 $first = $_POST['first'];
$last = $_POST['last']; 
$store  = $_POST['store']; 
 $title  = $_POST['title']; 
 $title2  = $_POST['other']; 
 $phone  = $_POST['phone']; 
 $email  = $_POST['email'];
 $dept = $_POST['dept'];
 $bio   = $_POST['bio']; 

 $query="UPDATE backup SET first='$first', last='$last', store='$store',   title='$title', title2='$title2', phone='$phone', email='$email', bio='$bio' WHERE id='$id'";
 mysql_query($query);
 echo "Record Updated";
 mysql_close();
 print_r($_POST)
}

?>

您尚未在連接中定義數據庫。

連接到數據庫后執行此操作

您的代碼可以更正為:

<?php
  $con = mysqli_connect("localhost","root","**","db");
  if (!$con)
  {
   die('Could not connect: ' . mysqli_error());
   }
  //$query = mysqli_query($con,"select * from backup");
  if(isset($_POST['update'])):
  $id = $_POST['id'];
  $first = $_POST['first'];
  //other stuffs
  $query="UPDATE backup SET first='$first', last='$last', store='$store',   title='$title', title2='$title2', phone='$phone', email='$email', bio='$bio' WHERE id='$id'";
  $res = mysqli_query($con,$query);
  if(!$res)
  die("could not update records. Error = ".mysqli_error($con)); 
  echo "Record Updated";
  mysqli_close($con);
  print_r($_POST);
  endif;
  ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM