gpt4 book ai didi

php - MySql:在子查询中引用父查询获取的数组

转载 作者:行者123 更新时间:2023-11-29 11:57:48 26 4
gpt4 key购买 nike

我试图在同一语句的子查询中引用父查询获取的数组。我有一个新闻表,我想通过标题获取特定新闻以及 id 低于该特定新闻的 10 条新闻。我想在一条 Sql 语句中使用 php 来获取数组。

<?php
// $_GET['q'] is title
include('db.php');
$result = array();
$sel = "SELECT * FROM news WHERE title = '".$_GET['q']."' "; // AND 10 MORE NEWS WHICH HAVE ID LOWER THAN THIS $_GET['q'] ID .
$qry = @mysqli_query($conn , $sel);
$num = mysqli_num_rows($qry);
while($row = @mysqli_fetch_array($qry)) {
array_push($result, array('id' => $row['id'] , 'title' => $row['title'] , 'desc' => $row['about'] , 'image' => $row['image'] , 'time' => $time , 'htitle' => $row['Htitle'] , 'habout' => $row['Habout']));
}
echo json_encode(array('result' => $result));
?>

最佳答案

您的原始查询是从新闻中选择 * WHERE title = :title

如果您确实想使用子查询,请使用类似

的内容
SELECT 
*
FROM news
WHERE id <
(SELECT
id
FROM news
WHERE title = :title
LIMIT 1)
ORDER BY id DESC
LIMIT 10
<小时/>

最后一点:请在查询中使用参数,因为您对 SQL 注入(inject)持开放态度(想想当 $_GET['q'] 的值为 时;DROP TABLE新闻;--).

关于php - MySql:在子查询中引用父查询获取的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32923724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com