> 백엔드 개발 > PHP 문제 > [공유예시] PHP PDO 연산 데이터베이스(추가, 삭제, 수정, 확인)

[공유예시] PHP PDO 연산 데이터베이스(추가, 삭제, 수정, 확인)

PHPz
풀어 주다: 2023-03-27 15:56:12
원래의
781명이 탐색했습니다.

PHP PDO는 PHP의 확장으로, PHP 개발자에게 데이터베이스를 작동하는 표준화된 방법을 제공하여 개발자가 서로 다른 데이터베이스 간에 원활하게 전환할 수 있도록 합니다. 이 기사에서는 PHP PDO를 사용하여 MySQL 데이터베이스에 연결하고 코드를 추가, 삭제, 수정 및 확인하는 예제를 작성하는 방법을 보여줍니다.

PDO 확장 설치

시작하기 전에 PHP 환경에 PDO 확장이 설치되어 있는지 확인하세요. 터미널에서 다음 명령어를 실행하면 현재 환경에 PDO가 이미 설치되어 있는지 확인할 수 있습니다.

php -m | grep pdo
로그인 후 복사

오류 메시지가 표시되지 않으면 PDO가 성공적으로 설치된 것입니다. 프롬프트에서 PDO 확장을 찾지 못하면 운영 체제 및 PHP 버전에 따라 해당 버전의 PDO를 설치하십시오.

MySQL 데이터베이스에 연결

시연에 앞서 먼저 로컬에서 MySQL 데이터베이스를 생성하고 test라는 이름의 새 데이터 테이블을 생성해야 합니다. 동시에 데이터베이스에 연결하기 위해서는 데이터베이스 이름, 사용자 이름, 비밀번호 등 연결에 필요한 정보를 준비해야 합니다. 연결 코드는 다음과 같습니다.

$dbname = 'test';
$username = 'root';
$password = '';
$dsn = "mysql:host=localhost;dbname=$dbname;charset=utf8";

try {
  $pdo = new PDO($dsn, $username, $password);
  echo "连接成功";
} catch(PDOException $e) {
  echo $e->getMessage();
}
로그인 후 복사

설명:

  • dbname은 데이터베이스 이름이며 실제 상황에 따라 수정될 수 있습니다. dbname 是数据库名称,可以根据实际情况修改;
  • usernamepassword 是访问数据库的用户名和密码,根据实际情况进行修改;
  • dsn 是 PDO 连接 MySQL 数据库所必需的参数,其中 mysql:host=localhost 是 MySQL 的主机名,dbname=$dbname 是数据库名称,charset=utf8 是字符集,确保我们的数据在传输过程中不会出现乱码的情况。

如果连接成功,页面将会输出“连接成功”。

获取数据

接下来,我们将演示如何使用 PDO 获取数据库中的数据。代码如下:

$sql = "SELECT * FROM test";
$stmt = $pdo->query($sql);

while ($row = $stmt->fetch()) {
  echo $row['id'] . ' ' . $row['name'] . ' ' . $row['age'] . "<br>";
}
로그인 후 복사

说明:

  • SELECT * FROM test 是SQL语句,其中test是我们创建的数据表名;
  • $stmt 是 PDO 执行 SQL 语句后返回的结果集对象;
  • $stmt->fetch() 用于获取结果集中的一条数据,每次执行完该方法后,$stmt 中将指向下一条数据;
  • while 循环用于遍历所有符合条件的数据记录,直到结果集中没有数据为止。

添加数据

接下来,我们将演示如何使用 PDO 向数据库中添加数据。代码如下:

$name = 'Tom';
$age = 28;
$sql = "INSERT INTO test(name,age) VALUES(:name,:age)";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':name', $name);
$stmt->bindValue(':age', $age);
$result = $stmt->execute();

if ($result) {
  echo "数据插入成功";
} else {
  echo "数据插入失败";
}
로그인 후 복사

说明:

  • INSERT INTO 是 SQL 语句,用于向数据表中插入新的数据;
  • :name:age 是 PDO 参数绑定的占位符,将在后面的代码中被替换成真正的值;
  • $pdo->prepare($sql) 用于为 SQL 语句预处理,这里的 $sql 就是要执行的 SQL 语句;
  • $stmt->bindValue(':name', $name) 将占位符 :name 绑定到具体的值 $name
  • $result = $stmt->execute() 执行 SQL 语句,并将执行结果返回。

更新数据

接下来,我们将演示如何使用 PDO 更新数据库中的数据。代码如下:

$id = 1;
$name = 'John';
$age = 30;
$sql = "UPDATE test SET name=:name,age=:age WHERE id=:id";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':name', $name);
$stmt->bindValue(':age', $age);
$stmt->bindValue(':id', $id);
$result = $stmt->execute();

if ($result) {
  echo "数据更新成功";
} else {
  echo "数据更新失败";
}
로그인 후 복사

说明:

  • UPDATE 是 SQL 语句,用于更新数据表中的数据;
  • SET name=:name,age=:age 表示要更新的字段和对应的值;
  • WHERE id=:id 表示要更新的数据的条件;
  • $stmt->bindValue(':id', $id) 将占位符 :id 绑定到具体的值 $id

删除数据

最后,我们将演示如何使用 PDO 删除数据库中的数据。代码如下:

$id = 1;
$sql = "DELETE FROM test WHERE id=:id";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':id', $id);
$result = $stmt->execute();

if ($result) {
  echo "数据删除成功";
} else {
  echo "数据删除失败";
}
로그인 후 복사

说明:

  • DELETE FROM 是 SQL 语句,用于从数据表中删除数据;
  • WHERE id=:id 表示要删除的数据的条件;
  • $stmt->bindValue(':id', $id) 将占位符 :id 绑定到具体的值 $id
  • username 및 password는 데이터베이스에 접속하기 위한 사용자 이름과 비밀번호를 실제 상황에 맞게 수정해야 합니다.

dsn은 PDO가 MySQL 데이터베이스에 연결하는 데 필요한 매개변수입니다. mysql:host=localhost는 MySQL 이름의 호스트이고, dbname=$dbname은 데이터베이스 이름이고, charset=utf8은 문자 집합입니다. 전송 중에 데이터가 왜곡되지 않도록 보장합니다.

연결에 성공하면 페이지에 "연결 성공"이 출력됩니다.

🎜데이터 가져오기🎜🎜🎜다음으로 PDO를 사용하여 데이터베이스에서 데이터를 가져오는 방법을 보여 드리겠습니다. 코드는 다음과 같습니다. 🎜rrreee🎜설명: 🎜🎜🎜SELECT * FROM test는 SQL 문입니다. 여기서 test는 우리가 만든 데이터 테이블의 이름입니다. /code>는 PDO 실행입니다. SQL 문 🎜🎜$stmt->fetch() 후에 반환된 결과 집합 개체는 각 실행 후 결과 집합의 데이터 조각을 가져오는 데 사용됩니다. 이 메서드, $stmt code>는 데이터의 다음 부분을 가리킵니다. 🎜🎜while 루프는 데이터가 없을 때까지 조건을 충족하는 모든 데이터 레코드를 탐색하는 데 사용됩니다. 결과 세트에서. 🎜🎜🎜🎜데이터 추가🎜🎜🎜다음으로 PDO를 사용하여 데이터베이스에 데이터를 추가하는 방법을 보여 드리겠습니다. 코드는 다음과 같습니다. 🎜rrreee🎜설명: 🎜🎜🎜INSERT INTO는 데이터 테이블에 새 데이터를 삽입하는 데 사용되는 SQL 문입니다. 🎜🎜:name 및 :age는 PDO 매개변수 바인딩을 위한 자리 표시자이며, 다음 코드에서 실제 값으로 대체됩니다. 🎜🎜$pdo->prepare($sql)가 사용됩니다. SQL 문에 대한 전처리, 여기서 $sql는 실행할 SQL 문입니다. 🎜🎜$stmt->bindValue(':name', $name)는 비트 문자 :name은 특정 값 $name에 바인딩됩니다. 🎜🎜$result = $stmt->execute()는 SQL을 실행합니다. 문을 실행하고 실행 결과를 반환합니다. 🎜🎜🎜🎜데이터 업데이트🎜🎜🎜다음으로 PDO를 사용하여 데이터베이스의 데이터를 업데이트하는 방법을 보여 드리겠습니다. 코드는 다음과 같습니다. 🎜rrreee🎜설명: 🎜🎜🎜UPDATE는 데이터 테이블의 데이터를 업데이트하는 데 사용되는 SQL 문입니다. 🎜🎜SET name=:name,age=: age는 업데이트할 필드를 나타내고 해당 값 🎜🎜WHERE id=:id는 업데이트할 데이터의 조건을 나타냅니다. binValue(':id', $id) 자리 표시자 :id를 특정 값 $id에 바인딩합니다. 🎜🎜🎜🎜데이터 삭제🎜🎜🎜마지막으로 PDO를 사용하여 데이터베이스의 데이터를 삭제하는 방법을 보여드리겠습니다. 코드는 다음과 같습니다. 🎜rrreee🎜설명: 🎜🎜🎜DELETE FROM은 데이터 테이블에서 데이터를 삭제하는 데 사용되는 SQL 문입니다. 🎜🎜WHERE id=:id 데이터에 대한 조건 삭제를 의미합니다. 🎜🎜$stmt->bindValue(':id', $id) 자리 표시자 :id를 특정 값 $에 바인딩합니다. 아이디. 🎜🎜🎜🎜요약🎜🎜🎜위는 PHP PDO를 사용하여 MySQL 데이터베이스를 추가, 삭제, 수정, 쿼리하는 예제입니다. 이 예제를 통해 모두가 PDO를 사용하여 데이터베이스에 연결하고 데이터에 관련 작업을 수행하는 방법을 마스터했다고 믿습니다. 실제 프로젝트에서는 다른 PHP 프레임워크와 구성요소를 결합하여 복잡한 비즈니스 로직을 빠르게 개발할 수도 있습니다. 🎜

위 내용은 [공유예시] PHP PDO 연산 데이터베이스(추가, 삭제, 수정, 확인)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿