【发布时间】:2012-05-28 17:52:27
【问题描述】:
我有一个页面显示来自我的数据库的信息。每个数组都有一个编辑链接,该链接具有一个统一的 id (.html?id=4)。
问题: 我创建的根据 id 查询数据库的表单导致没有信息显示?
知道我需要做什么来完成这项工作吗?
<?php
// Connect to the database
require 'include/episodelist.db.php';
// Ask the database for the information from the table based on .html?id=#
$query="SELECT * FROM `season` WHERE `id` = $id";
//The above query is the problem.
$result = mysql_query("SELECT * FROM 'season'");
mysql_close();
?>
<form action="include/epslist.edit.php" method="POST">
<table>
<tr>
<td>Season Number: </td><td><input type="text" name="season_sum" size="50" value="<?php echo "$season_num";?>"></td>
</tr>
<tr>
<td>Episode Number: </td><td><input type="text" name="eps_num" size="50" value="<?php echo "$eps_num";?>"></td>
</tr>
<tr>
<td>Temp Episode Number: </td><td><input type="text" name="temp_eps_num" size="50" value="<?php echo "$temp_eps_num";?>"></td>
</tr>
<tr>
<td>Title: </td><td><input type="text" name="title" size="50" value="<?php echo "$title";?>"></td>
</tr>
<tr>
<td>Description: </td><td><textarea type="text" name="descrip" cols="50" rows="7" value="<?php echo "$descrip";?>"></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="Submit" value="Update">
</td>
</tr>
</table></form>
【问题讨论】:
-
据我在您发布的代码中可以看到,您没有为
$id变量提供任何价值 -
请停止使用古老的 MySQL 扩展编写新代码:它不再维护,社区已开始 deprecation process。相反,您应该使用改进的MySQLi 扩展或PDO 抽象层。也不要将变量(尤其是来自您的用户的变量)放入您的 SQL 中,因为这会使您容易受到 SQL 注入的影响。你应该使用准备好的语句,你的变量可以作为参数传递给 MySQL,而不是为 SQL 评估。
-
您忘记从获取请求中获取 id $id = $_GET['id'];