首页 > 网站 > 建站经验 > 正文

解决ecshop商品列表显示异常问题

2024-04-25 20:38:22
字体:
来源:转载
供稿:网友

倘若我们把ecshop商品列表的数据改到特别大的时候,奇迹就来了,你会发现这个商品无论如何在前台也无法显示出来。

首先后台执行一个SQL 语句

UPDATE ecs_goods SET goods_id = 320212323146545 WHERE goods_id =32;

会发现你修改之后列表显示的最大数也就是 16777215 这个了,假若你要更变态咋整呢。

编辑表结构。goods_id

ALTER TABLE CHANGE goods_id goods_id BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ;

此时,你再去设置这个数你会发现。商品列表的序列ID就是你设置的。但是此时你再想预览这个商品那是不可能的。不信你试试,当你尝试过后,怎么发现 直接转到首页了,啥原因所致,这个应该是取值不到,自动返回一个默认值,所以在数据库查不到,自然就回到首页了。ECSHOP 就这样的。

那么我们执意要用这么变态的ID 那应该怎么做呢?//www.zuimoban.com

打开 站点 根目录下的 goods.php 文件

找到这段

$goods_id = isset($_REQUEST[‘id’]) ? intval($_REQUEST[‘id’]) : 0;

修改成如下:

$goods_id = isset($_REQUEST['id']) ? trim(($_REQUEST['id'])) : 0;

然后清除一下缓存,再次打开看看,是不是可以打开了。

mysql bigint取值范围:与操作系统无关,为-9223372036854775808到9223372036854775807,无符号为0到18446744073709551615。

当你再一次大于这个18446744073709551615时候,我估计又会有新的解决办法。介于此问题大概就这样。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表