PHP では、配列は非常に一般的なデータ構造であり、複数の関連データをキーと値のペアの形式で一緒に保存して、これらのデータの操作と管理を容易にします。実際のプロジェクトでは、配列をデータベースに保存する必要があることがよくあります。これにより、データのバックアップと管理が容易になるだけでなく、データのクエリと分析も容易になります。この記事では、PHP で配列をデータベースに保存する方法を説明します。
まず、配列データを保存するためのテーブルをデータベースに作成する必要があります。保存したい配列データが学生番号、名前、年齢、性別、その他の情報を含む学生のリストであると仮定すると、次のテーブル構造を作成できます:
CREATE TABLE student
(
id
int(11) NOT NULL AUTO_INCREMENT,
stu_id
varchar(20) NOT NULL,
name
varchar( 50) NOT NULL、
age
int(11) NOT NULL、
gender
varchar(10) NOT NULL、
主キー (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上記のテーブル構造には 5 つのフィールドが含まれており、id は自動インクリメント主キー、stu_id は学生番号、name は名前、年齢は年齢、性別は性別です。
配列をデータベースに保存する前に、保存とその後の読み取りを容易にするために、まず配列を JSON 形式に変換する必要があります。 PHP の組み込み json_encode() 関数を使用して、配列を JSON 形式に変換できます。サンプル コードは次のとおりです:
$studentList = array(
array('stu_id' => '1001', 'name' => '张三', 'age' => 18, 'gender' => '男'), array('stu_id' => '1002', 'name' => '李四', 'age' => 19, 'gender' => '女'), array('stu_id' => '1003', 'name' => '王五', 'age' => 20, 'gender' => '男'),
);
$ jsonStr = json_encode($studentList );
上記のコードは、3 人の学生の情報を含む $studentList という名前の 2 次元配列を定義し、 json_encode() 関数を使用してそれを JSON 形式の文字列に変換します。 。
データを JSON 形式で取得したので、それをデータベースに保存できます。 PHP の組み込み mysqli 拡張機能を使用してデータベースを操作し、JSON 文字列を Student テーブルに挿入できます。サンプル コードは次のとおりです:
$dbHost = 'localhost'; //データベース ホスト
$ dbUser = 'root' ; //データベースユーザー名
$dbPwd = '123456'; //データベースパスワード
$dbName = 'test'; //データベース名
//データベースに接続
$conn = mysqli_connect($dbHost, $dbUser, $dbPwd, $dbName);
if (!$conn) {
die('数据库连接失败:' . mysqli_error());
}
//JSON データを挿入データベースに
$sql = "INSERT INTO student
(stu_id
, name
, age
, gender
) VALUES (' $jsonStr')";
if (mysqli_query($conn, $sql)) {
echo '数据插入成功!';
} else {
echo '数据插入失败:' . mysqli_error($conn);
}
上記のコードは、mysqli_connect() 関数を使用してデータベースに接続し、INSERT ステートメントを実行して JSON 文字列を Student テーブルに挿入します。このうち「$jsonStr」はJSON形式で格納された生徒データを表す変数です。
JSON 形式のデータをデータベースに保存した後、SELECT ステートメントを通じてデータベースから読み取ることができます。このデータは、json_decode() 関数を使用して PHP 配列に変換されます。サンプル コードは次のとおりです:
//データベースから JSON データを読み取ります
$sql = "SELECT * FROM student
WHERE id=1";
$result = mysqli_query($conn, $sql);
//JSON 形式のデータを PHP 配列に変換します
$studentArr = array();
if (mysqli_num_rows($result)) {
$row = mysqli_fetch_assoc($result); $jsonStr = $row['stu_data']; $studentArr = json_decode($jsonStr, true);
}
上記のコードは、SELECT ステートメントを使用して、学生テーブルから ID 1 の学生データを読み取り、 mysqli_fetch_assoc() 関数を使用して結果セットを連想配列に変換し、「stu_data」という名前のフィールド値を取り出し (JSON 形式の生徒データが保存されます)、最後に json_decode() 関数を使用して PHP に変換します。配列。このうち、2 番目のパラメータを true に設定すると、JSON オブジェクトを PHP 配列に変換することになります。
概要
PHP では、配列をデータベースに保存するときに追加のプラグインや拡張機能は必要ありません。配列を JSON 形式に変換し、データベース フィールドに保存するだけです。同時に、データを読み取るときに、その後の処理と操作を容易にするために、JSON 文字列を PHP 配列に変換することも必要です。
以上がPHP配列をデータベースに保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。