PHP에서 데이터베이스에 배열을 저장하는 방법
웹 개발에 PHP를 사용할 때 일반적으로 나중에 사용할 수 있도록 일부 데이터를 데이터베이스에 저장해야 합니다. 가장 일반적으로 사용되는 데이터 유형은 배열입니다.
다음으로 데이터베이스에 배열을 저장하는 방법을 살펴보겠습니다.
- 데이터베이스 준비
먼저 배열 데이터를 저장할 테이블을 만들어야 합니다. MySQL을 예로 들면 다음과 같은 단계가 있습니다.
1) test
와 같은 데이터베이스를 생성합니다. test
。
2)在该数据库下创建一张表,例如 array_data
,用于存储我们的数组数据。可以采用以下的 SQL 语句:
CREATE TABLE `array_data` ( `id` int(11) NOT NULL AUTO_INCREMENT, `data` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
该表包含两个字段,分别是 id
和 data
。其中,id
是主键,用于唯一标识一条数据;data
字段用于存储我们要存储的数组数据。
- 将数组转化为字符串
在将数组存储到数据库中之前,我们需要将它转化为字符串。因为数据库中只能存储字符串类型的数据。将数组转化为字符串可以使用 PHP 提供的 serialize()
函数。
例如,我们有以下数组数据:
$data = [ 'name' => 'Tom', 'age' => 25, 'gender' => 'male' ];
可以使用 serialize()
函数将其转化为字符串:
$data_str = serialize($data);
此时,$data_str
的值为:
a:3:{s:4:"name";s:3:"Tom";s:3:"age";i:25;s:6:"gender";s:4:"male";}
- 将数据写入数据库
将字符串存入数据库就非常简单了。我们可以使用 PHP 的 PDO 扩展连接到数据库,然后使用预处理语句将数据写入数据库。
具体的代码如下:
try { $dsn = "mysql:host=localhost;dbname=test;charset=utf8mb4"; $username = "root"; $password = ""; $pdo = new PDO($dsn, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $data = [ 'name' => 'Tom', 'age' => 25, 'gender' => 'male' ]; $data_str = serialize($data); $stmt = $pdo->prepare("INSERT INTO array_data (data) VALUES (?)"); $stmt->bindParam(1, $data_str); $stmt->execute(); } catch (PDOException $e) { echo $e->getMessage(); }
以上代码中,我们首先创建了一个 PDO 对象,然后使用 prepare()
函数来创建一个预处理语句。其中,?
表示当前位置需要一个参数,我们将要存储的字符串作为参数传入。最后,使用 execute()
函数来执行预处理语句。
- 从数据库中读取数组数据
在需要读取数据库中的数组数据时,我们可以首先从数据库中读取存储的字符串,然后使用 unserialize()
函数将其转化为数组。
具体代码如下:
try { $dsn = "mysql:host=localhost;dbname=test;charset=utf8mb4"; $username = "root"; $password = ""; $pdo = new PDO($dsn, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->query("SELECT data FROM array_data WHERE id = 1"); $data_str = $stmt->fetchColumn(); $data = unserialize($data_str); print_r($data); } catch (PDOException $e) { echo $e->getMessage(); }
以上代码中,我们使用 query()
函数来执行 SQL 语句,并使用 fetchColumn()
函数从结果集中取出第一列数据,即保存我们的数组数据的字符串。然后,使用 unserialize()
函数将其转换为数组类型。
最后,使用 print_r()
函数输出数组数据。
总结
在 PHP 程序中,将数组存入数据库通常分为以下步骤:
- 准备好数据库,并创建一张含有一个 text 类型字段的表。
- 将数组转化为字符串。
- 将字符串存入数据库。
- 从数据库中读取字符串,并使用
unserialize()
2)
array_data
와 같은 데이터베이스 아래에 테이블을 생성하여 배열 데이터를 저장합니다. 다음 SQL 문을 사용할 수 있습니다. id
및 data
라는 두 개의 필드가 포함되어 있습니다. 그중 id
는 데이터 조각을 고유하게 식별하는 데 사용되는 기본 키입니다. data
필드는 저장하려는 배열 데이터를 저장하는 데 사용됩니다. 🎜- 🎜배열을 문자열로 변환🎜🎜🎜배열을 데이터베이스에 저장하기 전에 문자열로 변환해야 합니다. 데이터베이스에는 문자열 형식의 데이터만 저장할 수 있기 때문입니다. 배열을 문자열로 변환하려면 PHP에서 제공하는
serialize()
함수를 사용하면 됩니다. 🎜🎜예를 들어 다음과 같은 배열 데이터가 있습니다. 🎜rrreee🎜 serialize()
함수를 사용하여 이를 문자열로 변환할 수 있습니다. 🎜rrreee🎜 이때 의 값은 $data_str
대상: 🎜rrreee- 🎜데이터베이스에 데이터 쓰기🎜🎜🎜문자열을 데이터베이스에 저장하는 것은 매우 간단합니다. PHP의 PDO 확장을 사용하여 데이터베이스에 연결한 다음 준비된 명령문을 사용하여 데이터베이스에 데이터를 쓸 수 있습니다. 🎜🎜구체적인 코드는 다음과 같습니다. 🎜rrreee🎜위 코드에서는 먼저 PDO 객체를 생성한 후,
prepare()
함수를 사용하여 준비된 문장을 생성합니다. 그 중 ?
는 현재 위치에 매개변수가 필요하다는 뜻으로, 매개변수로 저장할 문자열을 전달합니다. 마지막으로 execute()
함수를 사용하여 준비된 명령문을 실행합니다. 🎜- 🎜데이터베이스에서 배열 데이터 읽기🎜🎜🎜데이터베이스에서 배열 데이터를 읽어야 할 경우 먼저 데이터베이스에서 저장된 문자열을 읽은 다음
unserialize( )
함수는 이를 배열로 변환합니다. 🎜🎜구체적인 코드는 다음과 같습니다. 🎜rrreee🎜위 코드에서는 query()
함수를 사용하여 SQL 문을 실행하고, fetchColumn()
을 사용했습니다. 결과 집합에서 첫 번째 열을 가져오는 함수입니다. 배열 데이터를 보유하는 문자열인 열 데이터입니다. 그런 다음 unserialize()
함수를 사용하여 배열 유형으로 변환합니다. 🎜🎜마지막으로 print_r()
함수를 사용하여 배열 데이터를 출력합니다. 🎜🎜요약🎜🎜PHP 프로그램에서 데이터베이스에 배열을 저장하는 작업은 일반적으로 다음 단계로 나뉩니다. 🎜🎜🎜데이터베이스를 준비하고 텍스트 유형 필드가 있는 테이블을 만듭니다. 🎜🎜배열을 문자열로 변환합니다. 🎜🎜문자열을 데이터베이스에 저장하세요. 🎜🎜데이터베이스에서 문자열을 읽고 unserialize()
함수를 사용하여 배열로 변환합니다. 🎜🎜위 내용은 PHP에서 데이터베이스에 배열을 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8의 JIT 컴파일은 자주 실행되는 코드를 컴퓨터 코드로 컴파일하여 성능을 향상시켜 계산이 많은 응용 프로그램에 도움이되고 실행 시간을 줄입니다.

이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

이 기사는 PHP의 대칭 및 비대칭 암호화에 대해 논의하여 적합성, 성능 및 보안 차이를 비교합니다. 대칭 암호화는 더 빠르고 벌크 데이터에 적합하지만 안전한 키 교환에는 비대칭이 사용됩니다.

이 기사에서는 PHP에서 강력한 인증 및 승인을 구현하여 무단 액세스를 방지하고 모범 사례를 자세히 설명하고 보안 향상 도구를 권장합니다.

이 기사는 CSRF 토큰, 동일한 사이트 쿠키 및 적절한 세션 관리를 포함하여 PHP의 CSRF 공격을 방지하는 전략에 대해 설명합니다.

이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

PHP의 준비된 진술은 컴파일 및 재사용을 통해 SQL 주입을 방지하고 쿼리 성능을 향상시켜 데이터베이스 보안 및 효율성을 향상시킵니다. 문자 수 : 159
