【发布时间】:2017-04-30 22:09:18
【问题描述】:
我写了一个网站并使用 php。当我写
$cat = mysql_query("
Select m.Image_link AS link
, m.Name
, m.ID
, c.Name AS catName
from movie m
join has_category mc
on m.ID = mc.movie_id
join category c
on c.ID = mc.category_id
where c.Name = '$category'
ORDER
BY ID desc"
);
这个查询一切正常,但是当我插入限制时,我出错了。
@$sayfa=$_GET['s'];
$kacar=12;
$toplansayfa=ceil(mysql_num_rows($cat)/$kacar);
$baslangic=($sayfa * $kacar) - $kacar;
$bul_cat=mysql_query("
Select m.Image_link AS link
, m.Name
, m.ID
, c.Name AS catName
from movie m
join has_category Mc
on m.ID = mc.movie_id
join category c
on c.ID = mc.category_id
where c.Name = '$category'
ORDER
BY ID desc
limit $baslangic, $kacar
");
echo mysql_error();->
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“-12, 12”附近使用正确的语法
我的错误在哪里..感谢您的关注。
【问题讨论】:
-
您不能设置负限制(或偏移)。检查你的计算。但是 - 问题可能是
$sayfa不是数字,因此转换为0。 -
每次在新代码中使用the
mysql_数据库扩展this happens 时,它都已被弃用,并且已经存在多年,并且在 PHP7 中永远消失了。如果您只是学习 PHP,请花精力学习PDO或mysqli数据库扩展和预处理语句。 Start here -
警告:如果您只是在学习 PHP,请不要使用
mysql_query接口。它是如此可怕和危险,以至于它在 PHP 7 中被删除。像 PDO is not hard to learn 这样的替代品和像 PHP The Right Way 这样的指南解释了最佳实践。您的用户数据不是properly escaped,有SQL injection bugs,可以被利用。 -
有人知道新学习 php/MySQL 的人在哪里找到了通往早已死去的
mysql_API 的路吗?他们不能看 php 在线手册:它充满了警告。它发生的太多了,肯定有一些主要的过时教程信息。有谁知道在哪里?我想问题的一部分是非常无能和懒惰的教授偷走了学生的未来。 -
@O.Jones 既然你问了...有很多这样的链接,例如this,它们在搜索结果中的排名很高。这很可悲,但即使是相当多的大学教科书(我以前见过)也只提供了一种在 PHP 中编写查询的方法,即使用
mysql_*()函数。