我对这个有点陌生,我正在构建我的第一个网站。只是为了好玩并了解一切是如何运作的。
我有一个奇怪的问题,我不知道该怎么做:
$query = "SELECT * from artikel inner join categorie on artikel.artikelnummer = categorie.artikelnummer
inner join categorienaam on categorie.categorienummer = categorienaam.categorienummer
left join bestandsnaam on artikel.artikelnummer = bestandsnaam.artikelnummer
where categorie.categorienummer = ".filter_var($_GET['categorienummer'], FILTER_SANITIZE_NUMBER_INT)." LIMIT $first_product_shown, $products_per_page";
while($row = mysqli_fetch_assoc($query))
{
do stuff
}
当我不使用 LIMIT 时它会起作用。但我不知道如何让这个限制发挥作用。例如,这个有效:
$query = mysqli_query($conn, "SELECT * FROM artikel LEFT JOIN bestandsnaam ON artikel.artikelnummer = bestandsnaam.artikelnummer LIMIT $first_product_shown, $products_per_page");
while($row = mysqli_fetch_assoc($query))
{
do stuff
}
我认为我的代码由于“FILTER_SANITIZED_NUMBER_INT”和“LIMIT”的组合使用而失败。也许有人知道问题是什么?我需要这个来将我网站上的产品分成多个页面。
提前致谢!
最佳答案
您的代码失败,因为您似乎缺少第一个代码块中的查询调用。尝试回显 mysqli 错误
在第二个 block 中,您直接在查询中调用了 SQL,但没有在第一个 block 中调用 SQL,也没有添加查询。
关于php - 使用 FILTER_SANITIZE_NUMBER_INT 后在查询中使用 MySQL LIMIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29042873/