>백엔드 개발 >PHP 튜토리얼 >PHP 데이터베이스 쿼리 팁: mysqli_query 함수를 사용하여 SQL 쿼리를 수행하는 방법

PHP 데이터베이스 쿼리 팁: mysqli_query 함수를 사용하여 SQL 쿼리를 수행하는 방법

王林
王林원래의
2023-07-29 16:42:412093검색

PHP 데이터베이스 쿼리 팁: mysqli_query 함수를 사용하여 SQL 쿼리를 수행하는 방법

PHP 애플리케이션을 개발할 때 데이터베이스와의 상호 작용은 매우 중요한 부분입니다. 쿼리 작업을 위해 PHP는 SQL 문을 실행하는 몇 가지 내장 함수를 제공합니다. 이 기사에서는 개발자가 데이터베이스 쿼리 작업을 더 잘 수행할 수 있도록 mysqli_query 함수를 사용하는 방법에 중점을 둘 것입니다.

1. mysqli_query 함수 소개
mysqli_query 함수는 SQL 쿼리문을 실행하는 데 사용되는 PHP 내장 함수입니다. 기본 구문은 다음과 같습니다.

mysqli_query($连接对象, $SQL语句);

그 중 $connection 객체는 mysqli_connect 함수를 통해 생성된 데이터베이스 연결 객체이고, $SQL 문은 실행할 쿼리 연산문입니다.

2. mysqli_query 함수를 사용하여 간단한 쿼리 수행
다음은 mysqli_query 함수를 사용하여 쿼리 작업을 수행하는 방법을 보여주는 간단한 예입니다.

<?php
// 创建数据库连接
$connection = mysqli_connect("localhost", "用户名", "密码", "数据库名");

// 检查连接是否成功
if (!$connection) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 执行查询语句
$result = mysqli_query($connection, "SELECT * FROM users");

// 遍历查询结果
while ($row = mysqli_fetch_assoc($result)) {
    echo "ID:" . $row["id"] . ",姓名:" . $row["name"] . ",年龄:" . $row["age"] . "<br>";
}

// 关闭数据库连接
mysqli_close($connection);
?>

위 코드에서 먼저 mysqli_connect 함수를 사용하여 데이터베이스 연결을 생성합니다. 개체 $ ​​연결. 그런 다음 mysqli_query 함수를 사용하여 간단한 쿼리 문 "SELECT * FROM users"를 실행하고 쿼리 결과를 $result 변수에 저장합니다. 마지막으로 mysqli_fetch_assoc 함수를 사용하여 $result에서 레코드 행을 가져와서 작업합니다.

3. 쿼리 결과 처리
mysqli_query 함수가 쿼리 문을 실행한 후 반환된 결과를 다양한 방법으로 처리할 수 있습니다. 일반적으로 사용되는 방법에는 mysqli_fetch_assoc 함수, mysqli_fetch_array 함수 및 mysqli_fetch_row 함수가 포함됩니다.

  1. mysqli_fetch_assoc 함수: 연관 배열을 반환합니다(필드 이름을 키로 사용).
  2. mysqli_fetch_array 함수: 연관 배열과 인덱스 배열의 조합을 반환합니다.
  3. mysqli_fetch_row 함수: 인덱스 배열을 반환합니다(필드 인덱스를 키 이름으로 사용).

이러한 함수를 사용할 때는 루프 문을 사용하여 쿼리 결과를 행별로 처리하여 모든 레코드를 검색해야 합니다.

4. 쿼리 결과 예외 처리
쿼리 작업을 실행할 때 구문 오류, 데이터베이스 연결 중단 등의 오류가 발생하는 경우가 있습니다. 애플리케이션 충돌을 일으키는 이러한 오류를 방지하려면 오류를 적절하게 처리해야 합니다. 쿼리 연산의 오류 정보는 아래와 같이 mysqli_error 함수를 통해 얻을 수 있습니다.

<?php
$result = mysqli_query($connection, $sql);
if (!$result) {
    die("查询失败:" . mysqli_error($connection));
}
?>

위의 예에서 쿼리가 실패하면 mysqli_error 함수를 통해 오류 정보를 얻어서 die 함수를 사용하여 출력합니다. 이런 방식으로 문제를 적시에 발견하고 해결할 수 있습니다.

5. 보안 고려사항
데이터베이스 쿼리를 수행할 때 악의적인 주입 공격을 방지하기 위해 보안 문제도 고려해야 합니다. 이러한 상황을 피하기 위해 아래와 같이 mysqli_real_escape_string 함수를 사용하여 사용자가 입력한 데이터를 이스케이프할 수 있습니다.

<?php
$name = mysqli_real_escape_string($connection, $_POST["name"]);
$sql = "SELECT * FROM users WHERE name='$name'";
$result = mysqli_query($connection, $sql);
?>

위의 예에서는 mysqli_real_escape_string 함수를 사용하여 사용자가 입력한 $name을 이스케이프합니다. 쿼리문의 일부로 사용하세요. 이렇게 하면 사용자가 입력한 데이터가 쿼리 문의 구조를 파괴하지 않아 SQL 주입 공격을 피할 수 있습니다.

요약:
이 글에서는 주로 mysqli_query 함수를 사용하여 SQL 쿼리 작업을 수행하는 방법을 소개합니다. mysqli_query 함수의 기본적인 사용법을 익히면 개발자는 보다 편리하게 데이터베이스를 운영하고 개발 효율성을 높일 수 있습니다. 또한 데이터베이스 쿼리를 수행할 때 시스템의 안정성과 보안을 보장하기 위해 예외 처리 및 보안 고려 사항에 주의를 기울여야 합니다. 이 기사가 PHP 개발 시 데이터베이스 쿼리에 도움이 되기를 바랍니다.

위 내용은 PHP 데이터베이스 쿼리 팁: mysqli_query 함수를 사용하여 SQL 쿼리를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.