我已经阅读了大约10个关于如何更新数据库信息的教程,我已经尝试了至少3种不同的方法,但都没有效果。下面的代码总是回显“成功”,但如果我检查数据库,它不会更新。
if(isset($_POST['update']))
{
$dbhost = 'host';
$dbuser = 'user';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$name= $_POST['name'];
$sql = "UPDATE table SET name='$name' WHERE id='$id'";
mysql_select_db('my_db');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}
echo "Success">";
mysql_close($conn);
}
else
{
  include"db.inc.php";
   $id = $_GET["id"];
   $order = "SELECT * FROM table where id='$id'";
   $result = mysql_query($order);
   $row = mysql_fetch_array($result);
}
    ?>
<form id="update" name="update" method="post" role="form" action="">
<input type="text" id="name" name="name" value="<? echo "$row[name]"?>" />
<input name="update" type="submit" id="update" value="Save">
</form>
<?php
}
?>我不知道我在做什么wrong...any帮助将不胜感激!
编辑:我考虑了您的意见,并编辑了我的代码
if(isset($_POST['update']))
{
$dbhost = 'host';
$dbuser = 'user';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$name= $_POST['name'];
mysql_select_db('my_db'); 
$sql = "UPDATE table SET name='$name' WHERE id='$id'";
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}
else{
echo "Success";}
mysql_close($conn);
}
else
{
  include"db.inc.php";
   $id = $_GET["id"];
   $order = "SELECT * FROM table where id='$id'";
   $result = mysql_query($order);
   $row = mysql_fetch_array($result);
}
    ?>
<form id="update" name="update" method="post" role="form" action="">
<input type="text" id="name" name="name" value="<? echo "$row[name]"?>" />
<input name="update" type="submit" id="update" value="Save">
</form>
<?php
}
?>我通过像$id -form.php?id=123这样的url获取编辑变量。上面的代码和第一个完全一样,回显成功,不处理数据库信息。
编辑:好的,我想我可以解决这个问题。我使用了我的代码的第一个版本(这里的第一个),并且我把
$id = $_GET["id"];上图
$name= $_POST['name']; 它似乎起作用了。
发布于 2015-04-17 06:17:31
好的,我想这可能会解决我的问题。我使用了我的代码的第一个版本(这里的第一个),并且我把
$id = $_GET["id"];上图
$name= $_POST['name']; 它似乎起作用了。感谢大家的帖子!
https://stackoverflow.com/questions/29685830
复制相似问题