0

従業員のリストから入力される更新フォームがあります。値は渡されていますが、データベースで更新されていません。ここに私のコードと、渡されたものとして表示されているものがあります。

<?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] => Accounting [title] => Accounting Clerk [other] => [phone] => 410 -555-1212[email] => [email2] => [bio] => Charlie は 2009 年 8 月に開始しました。これはテストです.... [Submit] => Submit )

誰かが私が間違っているかもしれないことを手伝ってくれますか? インジェクションに関しては、テストが終わったら直します。逆に聞こえるかもしれませんが、最初にこれが機能しない理由を見つける必要があります.

これについて助けてくれてありがとう

4

4 に答える 4

1

データベースも選択する必要があります。

// 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 を使用する必要があります。

于 2013-10-01T14:28:39.280 に答える
1

{これは、 の後に忘れたためです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)
}

?>
于 2013-10-01T14:28:47.673 に答える
0

接続でデータベースを定義していません。

DBに接続した後にこれを行います

于 2013-10-01T14:30:09.123 に答える
0

コードは次のように修正できます。

<?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;
  ?>
于 2013-10-01T14:40:33.680 に答える