我创建了一个页面,允许用户编辑存储在数据库中的信息。但是,我不能让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>';
}
?>
答案 0 :(得分:0)
试试这个:
$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'];
}
答案 1 :(得分:0)
我不确定是否有以下其中一项: 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'];
}
}
?>