【发布时间】:2016-11-12 12:51:11
【问题描述】:
我正在尝试使用 PHP 过滤一个 mysql 表,我的目标是当 url 为 History.php?h_id=1 时,它只显示 h_id 中有一个的行(H_id 不是唯一的数字)
我的代码如下。
<html>
<head>
<title></title>
</head>
<body >
<?php
mysql_connect('localhost', 'root', 'matl0ck') or die(mysql_error());
mysql_select_db("kedb") or die(mysql_error());
$h_id = (int)$_GET['h_id'];
$query = mysql_query("SELECT * FROM Hist WHERE H_ID = '$h_id'") or die(mysql_error());
if(mysql_num_rows($query)=1){
while($row = mysql_fetch_array($query)) {
$id = $row['ID'];
$name = $row['Name'];
$datemod = $row['DateMod'];
$h_id = $row['H_ID'];
}
?>
<?php
$con=mysqli_connect("localhost","root","matl0ck","kedb");
// Check connection
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM Hist");
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Name</th>
<th>Date</th>
<th>H_ID</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['ID'] . "</td>";
echo "<td>" . $row['Name'] . "</td>";
echo "<td>" . $row['DateMod'] . "</td>";
echo "<td>" . $row['H_ID'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
<?php
}else{
echo 'No entry found. <a href="javascript:history.back()">Go back</a>';
}
?>
</body>
</html>
当我尝试使用它时,它会显示所有在 h_id 中有数字的记录,当我删除此列中的数字时,它会显示错误。
我的表格布局如下。
谢谢
【问题讨论】:
-
什么错误????
-
每次在新代码中使用the
mysql_数据库扩展a Kitten is strangled somewhere in the world 时,它都已被弃用,并且已经存在多年,并且在 PHP7 中永远消失了。如果您只是学习 PHP,请花精力学习PDO或mysqli数据库扩展。 Start here -
你为什么同时使用 MYSQL_ 和 MYSQLI_ 数据库扩展???
-
@RiggsFolly 但我不喜欢猫 ;-)
-
@Dagon 但是你想让他们的血沾到你的手上吗?