php - mysql查询中的奇怪错误

标签 php mysql sql

<分区>

我想获得我输入的最后一个值。

我正在尝试获取我的文章所在的编号。所以我使用这个查询:

 $totalPages= mysql_query("SELECT page FROM `easy_db`.`article` ORDER BY article_id DESC LIMIT 1")  or die(mysql_error());

我得到的值是 6。

为什么是 6?我截断了表格..然后再次尝试,我又得到了 6..它应该是 1。

另一个问题,我想在 php 中强制执行类型..

我尝试强制执行一个 Int,但它似乎不起作用:

 $page=(int) $totalPages/10;

最佳答案

mysql_query返回资源句柄,而不是查询本身的结果。有关 how to query a database 的一些基本示例,请参阅 PHP 手册.例如:

$result= mysql_query("SELECT page FROM `easy_db`.`article` ORDER BY article_id DESC LIMIT 1")  or die(mysql_error());

if ($row = mysql_fetch_assoc($result)) {
   $totalPages=$row['page'];
}

关于你的第二个问题,关注operator precedence rules - (int) 运算符的优先级高于除法,因此在除法之前执行。因此,您可以获得浮点结果。或者尝试其中之一

$page = (int)($totalPages/10); #rounds down

$page=round($totalPages/10); #rounds up or down as appropriate

也结帐 floor()ceil()作为舍入的替代方法,因为它们在编写分页计算时通常很有用。

关于php - mysql查询中的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7742342/

相关文章:

php - 获取 hasMany 关系上的特定字段

PHP 电子邮件发送 BCC

php - 在 $_POST 变量中使用 $row 变量进行 MYSQL 查询

mysql - 当存在WHERE子句时,为什么MySQL将varchar强制转换为整数?

php - 自动重复发布项目直至满足要求

python - 无法在 crontab Mac OS 中导入 mysql-python

mysql - 无法登录MySQL服务器

mysql - 选择不同的数据库进行连接 - mysql

sql - Oracle SQL - 在月-当前年 (-1) 到月-当前年之间选择日期

c# - 使用代码优先 ASP MVC 删除表列