好的,我正在做一个 php 大学项目,我必须让学生注册,提交他们的详细信息——名字、姓氏、电话号码、身份证号码等。
起初我使用 int 作为 id 号,但我不打算用它做任何数学运算,所以我将其更改为 varchar,但是在此更改之后,我提交的所有示例仍然出现最大 int 值“2147483647”当我将其指定为 varchar,为什么会发生这种情况以及如何修复它。
如果有帮助,则表字段的排序规则都是 latin1_swedish_ci。我不是 MySQL 专家,所以如果您需要了解此问题的任何其他信息,请询问。
编辑:我还将字段的值更改回 bigint,它仍然在表中抛出 2147483647,即使我输入了 8888888888888(13 个字符),所以使用 varchar 或 bigint 我仍然得到 2147483647,我做错了什么?
更新:尝试更改字段的最大值时,我从 phpmyadmin 收到以下错误。
SQL query:
ALTER TABLE `student` CHANGE `idno` `idno` BIGINT( 99999999999999 ) NOT NULL
MySQL said:
#1439 - Display width out of range for column 'idno' (max = 4294967295)
更新:取出 intval() 解决了这个问题
$id_number=intval($_POST['id_number']);
$id_number=($_POST['id_number']);