我创建了一个页面,它允许用户编辑存储在数据库中的信息。但是我无法让 WHERE 子句工作,它只是不断出现找不到条目。任何帮助将非常感谢。!
<?php
mysql_connect('localhost', 'root', 'password') or die(mysql_error());
mysql_select_db("peopletank") or die(mysql_error());
$query = mysql_query("SELECT * FROM users WHERE id='$id'")
or die(mysql_error());
if(mysql_num_rows($query)>=1){
while($row = mysql_fetch_array($query)) {
$id = $row['id'];
$firstname= $row['firstname'];
$secondname= $row['secondname'];
}
?>
<form action="update.php" method="post">
<input type="hidden" name="ID" value="<?php echo $id;?>">
Value1: <input type="text" name="value1" value="<?php echo $firstname;?>">
<br>
Value2: <input type="text" name="value2" value="<?php echo $secondname?>">
<input type="Submit" value="Change">
</form>
<?php
}else{
echo 'No entry found. <a href="javascript:history.back()">Go back</a>';
}
?>
试试这个:
$query = mysql_query("SELECT * FROM users WHERE id='".$id."'");
确保您的$id
已正确填充。如果查询仍然没有像这样显示,请先尝试检查值:
echo 'The id is : '.$id;
$query = mysql_query("SELECT * FROM users WHERE id='".$id."'");
如果$id
已正确填充但仍未返回任何结果,则在mysql数据库中手动运行查询,可能没有指定$id
的结果
在填充数据时,无需获取$id
,而您只需要相同的$id
即可启动此查询。
while($row = mysql_fetch_array($query)) {
$id = $row['id']; /* << Remove this */
$firstname= $row['firstname'];
$secondname= $row['secondname'];
}
我 100% 确定它是否是以下事情之一:1) 尝试以 ;
2)数字不必在"之间
3)尝试将列名放在"之间
4)尽可能使用LIMIT 1(使事情变得更快但不重要)
5)始终尝试使用选择器(更快)
<?
if ( $query = mysql_query("SELECT `firstname`,`secondname` FROM `users` WHERE (`id` = $id) LIMIT 1;"))
{
if ($r = mysql_fetch_assoc($query))
{
$firstname = $r['firstname'];
$secondname = $r['secondname'];
}
}
?>