0

Phpを使用して単一のMySQLセルに複数の値を保存する方法を教えてもらえますか? 私は単に挿入機能を使用していますが、まったく役に立ちません。

4

2 に答える 2

8

いやいやいやいやいや!

1 つのセルに複数の値を格納しないでください。それは常にあなたに戻ってきます。DB 正規化の 3 番目のルールに反します。

セルには単一の値のみを挿入し、必要に応じて複数のレコードを追加します。例

photos table:          id  | filename
                       1   | 'myfoto.jpg'

comments table:       photo_id | user_id  | comment
                      1        | 23       | 'great picture'
                      1        | 99       | 'nice'
                      1        | 7        | 'do not like it'
于 2013-06-30T16:59:02.387 に答える
1

単一のセルに複数の値を格納するのは本当に悪い習慣であるという前の回答に完全に同意しますが、特別な場合や特定の制限付きでこれを行うことができます。

そのため、どうしてもと言う場合は、すべての値を含む文字列を作成する必要があります。最も簡単な方法は、コンマ、改行、または実際の値に表示されない/禁止されているその他の文字でそれらを区切ることです。ただし、最初に消毒してください。

値がより複雑な場合は、それらを配列に入れて、PHP シリアル化 (シリアル化/非シリアル化) または json エンコーディング (json_encode/json_decode) を使用できます。

文字列を取得したら、UPDATE クエリを使用してその DB 行を更新します。

于 2013-06-30T18:08:07.683 に答える