好的,如果有人可以帮助解决这个简单的php和mysql问题。
我是数据库新手,并尝试创建我的第一个用户友好型数据库。但是我遇到了一个小问题。
我有一个显示数据的页面,我还有一个页面,其中显示相同的数据以及编辑链接,该页面将转到编辑表单。但是在编辑表单中,信息不会出现。
这是我的“edit.php”,它显示了数据库中的信息以及编辑链接:
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("beyondmotors", $con);
$result = mysql_query("SELECT * FROM vehicles");
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Year</th>
<th>Make</th>
<th>Model</th>
<th>Mileage</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['year'] . "</td>";
echo "<td>" . $row['make'] . "</td>";
echo "<td>" . $row['model'] . "</td>";
echo "<td>" . $row['mileage'] . "</td>";
echo ("<td><a href=\"edit_form.php?id=$row[id]\">Edit</a></td></tr>");
echo "</tr>";
}
echo "</table>";
mysql_close($con);
这是编辑表格:
<html>
<head>
<title>Form Edit Data</title>
</head>
<body>
<table border=1>
<tr>
<td align=center>Form Edit Employees Data</td>
</tr>
<tr>
<td>
<table>
<?
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("beyondmotors", $con);
$order = "SELECT * FROM vehicles where id=$id";
$result = mysql_query($order);
$row = mysql_fetch_array($result);
?>
<form method="post" action="edit_data.php">
<input type="hidden" name="id" value="<? echo "$row[id]"?>">
<tr>
<td>Year</td>
<td>
<input type="text" name="year"
size="20" value="<? echo "$row[year]"?>">
</td>
</tr>
<tr>
<td>Make</td>
<td>
<input type="text" name="make"
size="20" value="<? echo "$row[make]"?>">
</td>
</tr>
<tr>
<td>Model</td>
<td>
<input type="text" name="model"
size="20" value="<? echo "$row[model]"?>">
</td>
</tr>
<tr>
<td>Mileage</td>
<td>
<input type="text" name="mileage"
value="<? echo "$row[mileage]"?>">
</td>
</tr>
<tr>
<td align="right">
<input type="submit"
name="submit value" value="Edit">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html>
我也有编辑数据,但它甚至没有达到目的。这是我在编辑表格中得到的! http://s562.photobucket.com/albums/ss69/intensemx/?action=view¤t=pic.jpg
我关注了 this 教程:
帮助我迷失在这里,提前致谢:)
任何人都可以推荐我可以获得类似教程的好地方。
答案 0 :(得分:7)
您使用的教程假设已启用short tags。更改代码以改为使用<?php
。
它还有SQL injection vulnerability。
它似乎也假设register_globals已开启。
不要使用该教程。这是非常糟糕的。
答案 1 :(得分:1)
您需要将数组键括在引号中。例如,这个:
<input type="hidden" name="id" value="<? echo "$row[id]"?>">
应该是这样的:
<input type="hidden" name="id" value="<? echo $row['id']?>">
现在,除此之外,请考虑昆汀在答案中提到的问题。
答案 2 :(得分:0)
您的编辑表单使用PHP短标签(<? ?>
),这些标签可能未在您的服务器上启用,因此一切都看错了。
您可以选择1)启用短标记,或2)将<?
更改为编辑文件中的<?php
。