我有一个 mysql 数据库设置。其中一个名为 users 的表有一些列,其中 2 个是 usr (varchar 32) 和 email (varchar 255)。每当我尝试通过 PHP 将该表中的数据插入到这 2 列(或任何其他列)中时,该表就会崩溃。
这是检查表的分析
mysql> check table users;
+----------------+-------+----------+------------------------------------------- +
| Table | Op | Msg_type | Msg_text |
+----------------+-------+----------+------------------------------------------- +
| accounts.users | check | warning | Table is marked as crashed |
| accounts.users | check | error | Size of indexfile is: 4096 Should be: 10240 |
| accounts.users | check | error | Size of datafile is: 0 Should be: 28 |
| accounts.users | check | error | Corrupt |
+----------------+-------+----------+------------------------------------------- +
4 rows in set (0.00 sec)
这是 PHP 命令:
$type = 'testing';
$type = mysql_real_escape_string($type);
mysql_query("INSERT INTO users(usr,email) VALUES('$type','$type')");
每当我尝试从命令行插入数据库时,表都不会崩溃。
我很困惑为什么会这样。