查看mysql上的各个记录

时间:2012-03-23 02:18:14

标签: mysql

database

这是我的数据库的屏幕截图!我已成功完成插入和删除操作 但是我在查看个人记录时遇到问题 当我点击id#45上的视图时,将显示所有细节,包括第二行!这是结果的屏幕截图

result

正如您在结果中看到的那样,第二行的细节出现了!我想只显示我点击的行的详细信息! 我会请求专家帮助

这是我的view.php代码

<?php
require 'database.php'; 

$query = "SELECT id, date, po FROM sales";
$result = $mysqli->query($query) or die(mysqli_error($mysqli));   

if ($result) {
  echo "<table cellspacing='0' cellpadding='15' border='0'>
    <th >Date</th><th >PONumber</th>";
  while ($row = $result->fetch_object()) {
    $po        = $row->po;
    $date      = $row->date;               
    $id        = $row->id;
    echo "<tr>
     <td>$date</td> <td >$po</td></tr>";  
  }      
}
?>

2 个答案:

答案 0 :(得分:1)

您的PHP代码循环遍历$ query返回的所有行。您的查询可能有一个错误的where子句

编辑您的编辑:

$id = $_GET["id"];
$query = "SELECT id, date, po FROM sales where id = $id";

答案 1 :(得分:1)

您的$query命令过于笼统。现在,它是说“从销售表中选择字段id,date和po”。你想要做的是说“仅在那些id =在页面之前选择的id的条目”中,从sales表中选择字段id,date和po。这就像是

$query = "SELECT id, date, po FROM sales WHERE id = ".$id

其中$ id值是正确转义的输入ID。你可能正在通过GET发送这个id,所以它会像$ _GET ['id'],但这正如迈克尔所说,取决于第一个表的HTML是什么样的。

这一点很重要:你不想像我上面说明的那样使用它而不正确地转义从GET收到的数据,否则有人可以通过$ _GET的值发送SQL来擦除整个表['ID']。看看这个方法: http://www.electrictoolbox.com/escape-variables-php-pear-db-bound-placeholders/

这将帮助您正确转义数据。但是,您的问题的答案是您必须添加WHERE子句。