>데이터 베이스 >MySQL 튜토리얼 >PHP를 사용하여 MySql 데이터베이스에 연결하는 방법

PHP를 사용하여 MySql 데이터베이스에 연결하는 방법

PHPz
PHPz앞으로
2023-05-26 13:23:46994검색

이 클래스를 사용하기 전에 다음 두 가지 지식을 대중화할 수 있습니다.

PHP에서는 정적 호출이 사용됩니다. 다른 프로그래밍 언어와 달리 정적 호출은 다음과 같습니다.

클래스 이름::$정적 속성

클래스 이름:: 정적 메서드()

그리고 Java 및 C#과 같은 프로그래밍 언어는 모두 다음을 사용합니다. 코드 어디에서나 사용할 수 있으며 인스턴스 객체 없이도 정적 속성이나 메서드에 액세스할 수 있습니다.

(2) 클래스의 각 인스턴스는 클래스에 정의된 정적 속성에 액세스할 수 있으며 정적 속성을 사용하여 설정할 수 있습니다. 데이터베이스 매개변수 제어와 연결 객체 생성 및 닫기를 용이하게 하기 위해 클래스의 모든 객체에서 사용할 수 있는 값

DBHelper.php 정적 도구 클래스

<?php
    /**该PHP文件为了连接数据库方便
     * 为连接数据库提供静态方法
     */
    header("Content-type: text/html;charset=utf-8");
    class DBHelper {
        static $sqlName = "127.0.0.1";
        static $userName = "root";
        static $passWord = "123456";
        static $dbName = "test";
        //连接数据库
        static function dbConn() {
            $conn = mysqli_connect(self::$sqlName, self::$userName,
                    self::$passWord, self::$dbName);
            if ($conn == false) {
                echo "<script>alert(&#39;数据库连接失败&#39;)</script>";
            }
            //设置连接对象编码
            mysqli_query($conn, "set names utf8");
            return $conn;
        }
        //查询数据
        //param1:查询类型,param2:执行语句
        //param1参数类型:  0单个数组,1多个数组。
        static function select($state, $mysql):array {
            $conn = self::dbConn(); //获得连接对象
            $sql = $mysql;
            $query = mysqli_query($conn, $sql);
            if ($state == 1) {
                $result = mysqli_fetch_all($query,MYSQLI_ASSOC);
            } else {
                $result = mysqli_fetch_assoc($query);
            }
            // 释放结果集
            mysqli_free_result($query);
            self::dbClose($conn); //释放连接对象
            if ($result == null) { //如果结果为空,则返回空数据集
                return array();
            }
            return $result;
        }
        //增加、删除、修改数据
        //param1:执行类型;param2:执行语句
        //param1参数类型:1增加,2修改,3删除。
        static function sqlHelper($state, $mysql):int {
            $conn = self::dbConn(); //获得连接对象
            $sql = $mysql;
            $query = mysqli_query($conn, $sql);
            //判断状态,做出相应提示。
            //$sts = $state==3?"删除":($state==2?"修改":($state==1?"增加":$state));
            self::dbClose($conn); //释放连接对象
            if ($query){
                return 1;  //有内容变化
                //return $sts."成功";
            }
            else{
                return 0;  //无内容变化
                //return $sts."失败";
            }
        }
        //关闭连接
        static function dbClose($conn) {
            $conn ->Close();
        }
    }
?>

Test.php는 데이터를 테스트하는 데 사용됩니다.
//查询单个数据
$select = DBHelper ::select(0, "select * from XXX where xx = &#39;$xx&#39;");
//查询多个数据
$selectAll = DBHelper ::select(1,"select * from XXX");
//添加数据
$insert = DBHelper ::sqlHelper(1, "insert into XXX (xx,xx,xx) values (&#39;$xx&#39;,&#39;$xx&#39;,&#39;$xx&#39;)");
//修改数据
$update = DBHelper ::sqlHelper(2, "update XXX set xx = &#39;$xx&#39;,xx = &#39;$xx&#39;,xx = &#39;$xx&#39;, where xx = &#39;$xx&#39;");
//删除数据
$delete = DBHelper ::sqlHelper(3, "delete from XXX where xx = &#39;$xx&#39;");

처음 두 개의 테스트 데이터는 모두 쿼리입니다. 설정된 반환 매개 변수는 mysqli_fetch_assoc 및 mysqli_fetch_all이지만 이 두 매개 변수는 단일 데이터 또는 다중 데이터를 포함합니다.

mysqli_fetch_assoc:

mysqli_fetch_all:

마지막 세 항목은 추가, 삭제, 수정에 해당합니다. 반환된 int 유형 매개변수는 실행 성공 여부를 확인할 수 있습니다.

위 내용은 PHP를 사용하여 MySql 데이터베이스에 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제