希望这是放置这个的正确区域。目前我正在做一个有趣的小项目,同时尝试自学一些 PHP。我创建了一个与我的网站相关联的小“审核”页面,允许我将新数据输入到预先存在的 SQL 数据库、搜索该数据并更新该数据。现在,添加和搜索可以顺利进行。唯一的问题是“更新”功能没有......它没有出错(实际上它表明它是成功的)并且它都按照它应该的方式工作,除了它没有“实际上”更新表中的信息。
在过去的 2 到 3 天里,我一直在阅读 StackOverflow、教程指南、论坛,并且我自己只是在玩部分代码,其中没有一个甚至提供了“远程”答案。
我有 2 个相关页面,“update.php”页面和“update_ac.php”页面在表单上点击“提交”后运行脚本,代码如下:
更新.php
<?php
$host="localhost"; // Host name
$username="member2"; // Mysql username
$password="********"; // Mysql password
$db_name="audits"; // Database name
$tbl_name="data"; // 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");
// get value of id that sent from address bar
$id=$_GET['id'];
// Retrieve data from database
$sql="SELECT * FROM $tbl_name WHERE id='$id'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<form name="form1" method="post" action="update_ac.php">
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td> </td>
<td colspan="3"><strong>Update data in mysql</strong> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"><strong>Barcode</strong></td>
<td align="center"><strong>Product</strong></td>
<td align="center"><strong>Category</strong></td>
<td align="center"><strong>Assigned</strong></td>
<td align="center"><strong>Notes</strong></td>
</tr>
<tr>
<td> </td>
<td align="center">
<input name="barcode" type="text" id="barcode" value="<? echo $rows['barcode']; ?>">
</td>
<td align="center">
<input name="product" type="text" id="product" value="<? echo $rows['product']; ?>" size="15">
</td>
<td align="center">
<select name="category" id="category" value="<? echo $rows['category']; ?>">
<option value="Hardware">Hardware</option>
<option value="Software">Software</option>
<option value="Furniture">Furniture</option>
</select>
</td>
<td align="center">
<select name="assigned" id="assigned" value="<? echo $rows['assigned']; ?>">
<option value="name1">Name 1</option>
<option value="name1">Name 2</option>
<option value="name1">Name 3</option>
<option value="name1">Name 4</option>
</select>
</td>
<td align="center">
<input name="notes" type="text" id="notes" value="<? echo $rows['notes']; ?>" size="15">
</td>
</tr>
<tr>
<td> </td>
<td>
<input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>">
</td>
<td align="center">
<input type="submit" name="Submit" value="Submit">
</td>
<td> </td>
</tr>
</table>
</td>
</form>
</tr>
</table>
<?php
// close connection
mysql_close();
?>
update_ac.php
<?php
$host="localhost"; // Host name
$username="member2"; // Mysql username
$password="********"; // Mysql password
$db_name="audits"; // Database name
$tbl_name="data"; // 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");
// update data in mysql database
$sql="UPDATE $tbl_name SET barcode='$barcode', product='$product', category='$category', assigned='$assigned', notes='$notes' WHERE id='$id'";
$result=mysql_query($sql);
// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='assets.php'>View Changes</a>";
echo "<BR>";
echo "<a href='login-home.php'>Home</a>";
}
else {
echo "ERROR";
}
?>
现在,我确实从一个较旧的站点中提取了它,并且为了满足我自己的需要而进行了“更改”,但无济于事。我什至完全复制/粘贴了他们的教程(包括他们的数据库),即使这样也没有用,这似乎表明某处的代码有问题。提前致谢。