Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 困难的SQL查询语法_Php_Mysql_Sql_Pdo - Fatal编程技术网

Php 困难的SQL查询语法

Php 困难的SQL查询语法,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,大家好这里是我的MySQL查询哪一个正在获取数据 $videofetch = $conn->prepare("select * from user_followers as uf join videos as v on uf.followed_id = v.publisher_id where uf.follower_id = ? order by video_id desc limit 5"); $videofetch->execute(array(@$_SESSION ["use

大家好这里是我的MySQL查询哪一个正在获取数据

$videofetch = $conn->prepare("select * from user_followers as uf join videos as v on uf.followed_id = v.publisher_id where uf.follower_id = ? order by video_id desc limit 5");
$videofetch->execute(array(@$_SESSION ["userid"]));
$vid = $videofetch->fetchALL(PDO::FETCH_ASSOC); 
这段代码工作得很好,但是当我试图用AJAX获取更多数据时,我无法编写正确的sql查询语法

<?php
session_start();
if(isset($_POST["id"]) && !empty($_POST["id"])) {
  include('connectdb.php');
  $lastID = $_POST['id'];
  $videofetch = $conn->prepare("select * from  user_followers as uf join videos  as v  on uf.followed_id = v.publisher_id where uf.follower_id = ? order by video_id  desc limit 5");
  $videofetch->execute(array($_SESSION["userid"]));
  $vid = $videofetch->fetchALL(PDO::FETCH_ASSOC);
  ...

尝试对mysql关键字进行大写。读起来好多了

你已经有了WHERE,所以你只需要把它和And结合起来

SELECT  *
    FROM  user_followers AS uf
    JOIN  videos AS v  ON uf.followed_id = v.publisher_id
    WHERE  uf.follower_id = ?
      AND  video_id < ".$lastID."
    ORDER BY  video_id DESC
    LIMIT  5 
选择*
来自用户_followers作为uf
在uf.id=v.publisher\u id上以v的身份加入视频
其中uf.follower_id=?
和视频id<“$lastID”
按视频订购\u id DESC
限制5

但是,请使用准备好的语句更改“.$lastID.”。

视频为v
=>
视频为v
-您可以使用
as
作为列别名,而不是表别名。将as从表别名中删除,以便进行视频第一次查询。我只想将
添加到视频id
到第二个查询我将尝试感谢您的回复我尝试了两个组合,没有
as
,但仍然存在相同的语法错误:)就是这样兄弟这是正确的答案非常感谢,
$videofetch=$conn->prepare(“选择*从用户跟随者作为uf加入视频作为uf上的v.followed_id=v.publisher_id,其中uf.follower_id=?和视频_id<”$lastID.“按视频订购_iddesc LIMIT 5”);$videofetch->execute(数组($_会话[“userid”]);