gpt4 book ai didi

php - 应用 LIMIT 时,带有 INNER JOIN 的 DWL 不起作用

转载 作者:行者123 更新时间:2023-11-29 04:34:46 25 4
gpt4 key购买 nike

我正在尝试使用 Bootpag.js 创建一个简单的分页以获取我的数据 我已经创建了一个带有 INNER JOIN 的 PDO 脚本 因为我需要从另一个表中获取并显示用户团队名称,所以我还需要应用 LIMIT 来设置页面选择。

这是麻烦的代码,

session_start();
include_once("../iConnect/handShake.php");
include_once ("../Functions/userCheck.php");

if (isset($_REQUEST["page"])){
$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH);
if(!is_numeric($page_number)){die('Invalid page number!');} //incase of invalid page number
}else{
$page_number = 1;
}
$perpage = 3;
//get current starting point of records
$position = (($page_number-1) * $perpage);

//Data base join to get team names from teams data base
$getUsers = "SELECT userlogin.*, teams.TeamName FROM userlogin INNER JOIN teams ON teams.tId = userlogin.uTeam ORDER BY uId DESC LIMIT :place, :item_per_page";
$getUsersQuery = $dbConnect -> prepare($getUsers);
$getUsersQuery -> bindParam(':place', $position);
$getUsersQuery -> bindParam(':item_per_page', $perpage);
$getUsersQuery -> execute();

我在 phpMyAdmin 中尝试了相同的 SQL,它没有任何错误我不知道为什么在与 PHP + PDO 一起使用时会抛出以下错误。

注意:关于重复项,我一直在使用 bindParam 搜索站点,但我没有看到重复项,而且它确实没有解决我的问题,为此选择的答案有任何作用如果被标记什么

错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''0', '3'' at line 1' in ********\fetchUserList.php on line 27

最佳答案

当处于仿真模式(默认打开)时,PDO 将占位符替换为实际数据,而不是单独发送。PDO 将每个参数都视为一个字符串。结果,准备的 LIMIT ?,?查询变为 LIMIT '0', '3',这是导致查询失败的无效语法。

当您显式使用 bindParam 每个变量时,您需要设置正确的参数类型。

您可能需要通过以下方式关闭仿真:

$dbConnect->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );

然后

<?php

$getUsersQuery -> bindParam(':place', $position,PDO::PARAM_INT);
$getUsersQuery -> bindParam(':item_per_page', $perpage,PDO::PARAM_INT);

?>

关于php - 应用 LIMIT 时,带有 INNER JOIN 的 DWL 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46171777/

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