Ale*_*man 2 php mysql forms row edit
我以前做过这个,出于某种原因我这次不能让它工作!我把头发拉过来!因为没有错误,所以它不会更新数据库.
基本上我有一个学生数据表....
ID | IMGNU | 名字| 姓氏| FBID
我们以第233行为例.
我可以通过view.php查看特定的行?ID = 233
然后这可行,但现在我想能够去edit.php?ID = 233并且它应该加载一个表格,已经有来自行233的信息.然后我应该能够编辑字段中的数据和提交表单,这将改变数据库中的信息.
这就是我已经拥有的.
edit.php
<?php
mysql_connect('localhost', 'admin', 'passw0rd') or die(mysql_error());
echo "Tick <p>";
mysql_select_db("students") or die(mysql_error());
echo "Tick";
$UID = $_GET['ID'];
$query = mysql_query("SELECT * FROM stokesley_students WHERE id = '$UID'")
or die(mysql_error());
while($row = mysql_fetch_array($query)) {
echo "";
$firstname = $row['firstname'];
$surname = $row['surname'];
$FBID = $row['FBID'];
$IMGNU = $row['IMGNU'];
};
?>
<form action="update.php?ID=<?php echo "$UID" ?>" method="post">
IMGNU: <input type="text" name="ud_img" value="<?php echo "$IMGNU" ?>"><br>
First Name: <input type="text" name="ud_firstname" value="<?php echo "$firstname" ?>"><br>
Last Name: <input type="text" name="ud_surname" value="<?php echo "$surname" ?>"><br>
FB: <input type="text" name="ud_FBID" value="<?php echo "$FBID" ?>"><br>
<input type="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)
这是update.php
<
?php
$ud_ID = $_GET["ID"];
$ud_firstname = $_POST["ud_firstname"];
$ud_surname = $_POST["ud_surname"];
$ud_FBID = $_POST["ud_FBID"];
$ud_IMG = $_POST["ud_IMG"];
mysql_connect('localhost', 'admin', 'passw0rd') or die(mysql_error());
echo "MySQL Connection Established! <br>";
mysql_select_db("students") or die(mysql_error());
echo "Database Found! <br>";
$query="UPDATE * stokesley_students SET firstname = '$ud_firstname', surname = '$ud_surname',
FBID = '$ud_FBID' WHERE ID ='$ud_IMG'";
mysql_query($query);
echo "<p>Record Updated<p>";
mysql_close();
?>
Run Code Online (Sandbox Code Playgroud)
任何想法都会非常感激,maby我只是错过了一些愚蠢的东西?
谢谢Alex
edit.php - 有一些变化
<?php
mysql_connect('localhost', 'admin', 'passw0rd') or die(mysql_error());
mysql_select_db("students") or die(mysql_error());
$UID = (int)$_GET['ID'];
$query = mysql_query("SELECT * FROM stokesley_students WHERE id = '$UID'") or die(mysql_error());
if(mysql_num_rows($query)>=1){
while($row = mysql_fetch_array($query)) {
$firstname = $row['firstname'];
$surname = $row['surname'];
$FBID = $row['FBID'];
$IMGNU = $row['IMGNU'];
}
?>
<form action="update.php" method="post">
<input type="hidden" name="ID" value="<?=$UID;?>">
IMGNU: <input type="text" name="ud_img" value="<?=$IMGNU;?>"><br>
First Name: <input type="text" name="ud_firstname" value="<?=$firstname?>"><br>
Last Name: <input type="text" name="ud_surname" value="<?=$surname?>"><br>
FB: <input type="text" name="ud_FBID" value="<?=$FBID?>"><br>
<input type="Submit">
</form>
<?php
}else{
echo 'No entry found. <a href="javascript:history.back()">Go back</a>';
}
?>
Run Code Online (Sandbox Code Playgroud)
update.php(除星号外,您的查询也ID与$ud_IMG变量匹配)
<?php
mysql_connect('localhost', 'admin', 'passw0rd') or die(mysql_error());
mysql_select_db("students") or die(mysql_error());
$ud_ID = (int)$_POST["ID"];
$ud_firstname = mysql_real_escape_string($_POST["ud_firstname"]);
$ud_surname = mysql_real_escape_string($_POST["ud_surname"]);
$ud_FBID = mysql_real_escape_string($_POST["ud_FBID"]);
$ud_IMG = mysql_real_escape_string($_POST["ud_IMG"]);
$query="UPDATE stokesley_students
SET firstname = '$ud_firstname', surname = '$ud_surname', FBID = '$ud_FBID'
WHERE ID='$ud_ID'";
mysql_query($query)or die(mysql_error());
if(mysql_affected_rows()>=1){
echo "<p>($ud_ID) Record Updated<p>";
}else{
echo "<p>($ud_ID) Not Updated<p>";
}
?>
Run Code Online (Sandbox Code Playgroud)
"UPDATE * stokesley_students SET firstname = '$ud_firstname', surname = '$ud_surname',
FBID = '$ud_FBID' WHERE ID ='$ud_IMG'"
Run Code Online (Sandbox Code Playgroud)
那个查询是错误的,去掉星号。此外,您不知道是否有错误,因为您没有检查mysql_query 或使用mysql_error.
| 归档时间: |
|
| 查看次数: |
49920 次 |
| 最近记录: |