Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表单不更新数据库_Php_Sql_Database - Fatal编程技术网

Php 表单不更新数据库

Php 表单不更新数据库,php,sql,database,Php,Sql,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

我有一个从员工列表中填充的更新表单。数据库中的值正在传递,但未更新。这是我的代码和我正在显示的内容

<?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)




?>

您还应该选择数据库:

// 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。

这是因为,您忘记了
{
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;
  ?>

不再支持
mysql\uquery*
函数,它们已不再维护,将来也将保留。您应该使用或更新代码,以确保将来项目的功能。您可以用mysql\u query($query)替换mysql\u query,还是用mysql\u query($query)替换mysql\u query(mysql\u error())因此,您可以查看查询是否有任何错误?您可能还希望将此部分:if(isset($\u POST['update'])用大括号{}括起来谢谢Neal.我会带着这个去MySQLi.谢谢你.我应该而且会改正的.我又回到了一个旧习惯谢谢你.我一定是把它删除了.因为它原来就在那里:)谢谢…我本来就有数据库.这可能就是我错过它的原因.还有,花括号又杀了我.你帮了大忙!!谢谢你额外的一双眼睛..显然我的眼睛不好:)