私の目的
MySQL テーブルに多数の列を追加するには。私は2つの懸念があります:
1)これを行う方法
2) これは悪い考えですか? もしそうなら、それはなぜですか?
これをやりたい理由:
体系的に名前が付けられた一連のフィールドを持つフォームがあります (例: field_1 field_2 など)。そのデータをページに投稿して mysql テーブルに保存し、フィールドに対応する名前の列を入力したい (つまり、列の名前は field_1 field_2 など)
各フィールド名の列を手動で手動で作成するのではなく、タスクをループすることは明らかでした。
しかし、あちこちで調査したところ、このアプローチは人々からの恐怖を違法にしているようであり、実際の解決策は見つかりませんでした.
私の試み:
$mysqli = new mysqli("localhost","user","password","db");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$i = 1;
while ($i <= 14)
{
$column = 'field_'.$i;
$sql= '"ALTER TABLE supply ADD '.$column.' VARCHAR(45)"';
$mysqli->query($sql);
printf("Affected rows (ALTER): %d\n", $mysqli->affected_rows);
$i++;
}
これはエラーなしで実行されるように見えますが、影響を受ける行メッセージが表示されます (ループごとに、これらのうち 14 個):
影響を受ける行 (ALTER): -1
列は追加されていません。
私のエラー、または問題をデバッグするためのより良い方法を教えてもらえますか? さらに、これが賢明でない場合は、その理由と、代わりに何を検討すべきかを説明していただけますか? ありがとうございました。