在sql行中选择一个结果?

时间:2015-10-27 04:18:37

标签: php mysql prepared-statement

这是我想解决的问题。

步骤1:例如,选择列“at_idsujet”等于“3”的消息。 第2步:在所有结果中,我会运行第二个查询,例如选择“id”列等于“7”的结果。

所有这些都可以让我按特定顺序恢复邮件的位置。例如,它可能是主题的第三篇文章。因此我的号码为3。

这是我现在获得的代码,有点复杂..

                $bdd->query('SET @compteur=0');
                $gotonbpage = $bdd->prepare('SELECT id, @compteur:=@compteur+1 AS num_ligne FROM (SELECT * FROM messages WHERE id = ?) WHERE at_idsujet = ?');
                $gotonbpage->execute(array($get_gotomsg,$ft_infosgotomsg['at_idsujet']));
                    $fetch_fgotopage = $gotonbpage->fetch('SELECT * FROM messages WHERE id = '.$ft_infosgotomsg['id'].'');

变量“$ gotonbpage”是主题ID。 变量“$ ft_infosgotomsg ['at_idsujet']”是主题,其中包含我研究的信息。

警告,sql代码是PDO。

提前感谢您的帮助。

艾默里克。

1 个答案:

答案 0 :(得分:0)

在SELECT查询中添加LIMIT

$bdd->query('SET @compteur=0');
$gotonbpage = $bdd->prepare('SELECT id, @compteur:=@compteur+1 AS num_ligne FROM (SELECT * FROM messages WHERE id = ?) WHERE at_idsujet = ?');
$gotonbpage->execute(array($get_gotomsg,$ft_infosgotomsg['at_idsujet']));
$fetch_fgotopage = bdd->prepare('SELECT * FROM messages WHERE id = '.$ft_infosgotomsg['id'].' LIMIT 1');
$fetch_fgotopage->execute();
$singlePage = $fetch_fgotopage->fetch();