我有 content.php 页面,当我点击“更多”时,它必须为我提供与 ID 号相同的内容
<a class="btn text_3 color_3" href="contentdesc.php?contentid=<?=$content["id"]?>">more</a>
问题是当我单击“更多”时,它会将我定向到 contentdesc.php 并通过此查询为我提供表中的最后一行:
<?php
$select="SELECT * FROM content WHERE id HAVING COUNT(*) > 1";
$query=mysql_query($select);
while($row=mysql_fetch_assoc($query)) {
?>
<div class="grid_12">
<div class="box3">
<h3 class="text_4 equal" data-mh="3"><?=$row['name']?></h3>
<div class="divider"></div>
<p class="text_8 color_6"><?=$row['description']?></p>
</div>
</div>
<?php } ?>
请问谁能帮我将内容与行中的相同 ID 号一起带入吗?
最佳答案
contentdesc.php
页面中的 SQL 查询有点奇怪。
SELECT * FROM content WHERE id HAVING COUNT(*) > 1
这是什么意思?
SELECT *
返回所有列FROM 内容
来自此表WHERE id
其中id
列的值计算结果为 true。也就是说,对于具有非零 id 的每一行。 (可能不是您想要的。)HAVING COUNT(*) > 1
如果表有两行或更多行。 (可能不是您想要的)。
这可能是不正确的。您可能需要使用以下 SQL 语句:
SELECT name, description FROM content WHERE id=DESIRED_ID_VALUE;
在 php 中,它看起来像这样。
$select="SELECT name, description FROM content WHERE id=" .
intval($_REQUEST["contentid"]) . ";";
第一个代码行中的超链接会生成一个如下所示的 URL。
contentdesc.php?contentid=123
$_REQUEST["contentid"]
的值来自 contentid
parameter on the URL. intval()
turns the value into an integer , 至avoid sql injection .
警告。您正在使用的 mysql_
调用已过时且不安全。请考虑使用 mysqli_
或 PDO
代替。
关于php - 请求 Mysql 查询,带上名称和描述以及 id 号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42832532/