我是php语言的新手,我试图做一个简单的登录页面,索引页面和注销页面,现在我尝试更改登录密码页面,但它在mysql中不起作用,我的编码没有任何错误但在mysql数据中它不会更改为我在更新php表单中更新的内容。
这是我的代码,
<?php
//including the database connection file
$host="localhost"; // Host name
$username="paapuu_user"; // Mysql username
$password="mn78k1a2"; // Mysql password
$db_name="paapuu"; // Database name
$tbl_name="admin"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
if(isset($_POST['update']))
{
//here the id that we post is the same id that we get from url
//id indicates the id of this data which we are editing
//id is unique and a particular id is associated with particular data
$id1 = $_POST['id'];
$username1=$_POST['username'];
$password1=$_POST['password'];
//updating the table
$result=mysql_query("UPDATE admin SET username='$username1', password='$password1' WHERE id=$id1");
echo "<script language='javascript' type='text/javascript'>";
$error1="<p>Update successfully!</p>";
echo "alert($error1); window.location ='viewpassword.php'";
echo "</script>";
}
答案 0 :(得分:0)
很高兴看到你的实际形式。
你确定它会带你进入isset($_POST['update']);
吗?
你也可以试试
$result = mysql_query("UPDATE admin
SET username='$username1', password='$password1'
WHERE id=$id1")
or die(mysql_error());
查看您的查询是否确实存在任何问题。
答案 1 :(得分:0)
尝试使用单引号包围变量$ id1:
$ result = mysql_query(“UPDATE admin SET username ='$ username1', password ='$ password1'WHERE id ='$ id1'“);
如果没有提供id,它将阻止您的查询出错,就像这样:
UPDATE admin SET username ='$ username1', password ='$ password1'WHERE id ='';
如果没有使用单引号,它将以这种方式工作:
UPDATE admin SET username ='$ username1', password ='$ password1'WHERE id =;
我建议您使用变量$ tbl_name,或者如果您不在查询中使用它,只需将其从变量声明中删除即可。 希望这有效!
答案 2 :(得分:0)
看起来你忘了在$ id1
的WHERE id = $ id1周围加上单引号如果这不能解决问题,请尝试将变量上的单引号替换为
类似'“。$ username1。”'