my_sqlデータベースを設定しました。usersと呼ばれるテーブルの1つにはいくつかの列があり、そのうちの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')");
コマンドラインからデータベースに挿入しようとしても、テーブルがクラッシュしません。
なぜこれが起こっているのか私は困惑しています。