我想获取我输入的最后一个值。
我正在尝试获取我的文章所在的数字。所以我使用这个查询:
$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;
答案 0 :(得分:4)
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
答案 1 :(得分:1)
您可以在php中使用mysql_insert_id()
函数来检索最后插入行的ID。
答案 2 :(得分:1)
你应该使用mysql_insert_id();插入声明后立即。