백엔드 개발 PHP 튜토리얼 PHP mysqli 데이터베이스 작업 클래스

PHP mysqli 데이터베이스 작업 클래스

Jul 29, 2016 am 09:13 AM
mysqli quot this

<?php
class Mysql{
	private $host = &#39;localhost&#39;;
	private $port = &#39;3306&#39;;
	private $user = &#39;username&#39;;
	private $pwd = &#39;password&#39;;
	private $db = &#39;dbname&#39;;
	private $char = &#39;UTF8&#39;;
	private $prefix = &#39;&#39;;
	private $fetch_mode = MYSQLI_ASSOC;//获取模式
	private $result;//结果集
	public $mysqli;//mysqli实例<strong>对象</strong>
	static private $_instance;//本类实例
	
	//构造函数初始化$mysqli<strong>对象</strong>
	private function __construct() {
		$this->mysqli=new mysqli($this->host,$this->user,$this->pwd,$this->db,$this->port);
		if(mysqli_connect_errno()){
			$this->mysqli=false;
			echo mysqli_connect_error();
			die();
		}else{
			$this->mysqli->set_charset($char);	
		}
	}
	
	//析构函数:释放结果集和关闭数据库
	public function __destruct(){
		$this->free();
		$this->close();	
	}
	
	//初始化$mysqli<strong>对象</strong>
	public static function getInstance(){
		if(!(self::$_instance instanceof self)) {
			self::$_instance = new self();
		}
		return self::$_instance;
	}
	
	//释放结果集
	private function free(){
		@$this->result->free();
	}
	
	//关闭数据库连接
	private function close(){
		$this->mysqli->close();	
	}
	
	//执行sql语句
	public function query($sql){
		return $this->mysqli->query($sql);	
	}
	
	//获取查询结果
	public function get_result_array($table,$field,$c
		$table=$this->prefix.$table;
		if(is_array($field)){
			$field = join(',',$field);
		}
		
		$sql = "SELECT $field FROM ".$table;
		if(!empty($condition))$sql .=" $condition ";
		$this->result = $this->query($sql);
		$return = array();
		while($row = $this->fetch($this->result)){
			$return[] = $row;
		}
		$this->free();
		return $return;
	}
	
	//增删改操作
	public function execute($table,$action,$arr_field=array(),$c
		$table=$this->prefix.$table;
		switch($action){
			case 'INSERT':
				$str_field = '';
				$str_val = '';
				foreach($arr_field as $key=>$val){
					$str_field .= '`'.$key.'`,';
					$str_val .= '\''.$val.'\',';
				}
				$str_field = rtrim($str_field, ',');
				$str_val = rtrim($str_val, ',');
				$sql = "INSERT INTO $table ($str_field) VALUES ($str_val) ";
			break;
			
			case 'DELETE':
				$sql = "DELETE FROM $table";
				if (!empty($condition)) $sql .= " WHERE $condition";
			break;
			
			case 'UPDATE':
				$str_field = '';
				foreach($arr_field as $key => $val){
					$str_field.= '`'.$key ."` ='$val',";
				}
				$str_field = rtrim($str_field, ',');
				$sql = "UPDATE $table SET $str_field";
				if (!empty($condition)) $sql .= " WHERE $condition";
			break;	
		}
		$this->query($sql);
		return $this->get_affected_rows();
	}
	
	//获得受影响行数(针对增删改操作)
	public function get_affected_rows(){
		return $this->mysqli->affected_rows;
	}
	
	//获取集合条数
	public function get_rows($table,$c 1 ',$id='id'){
		$table=$this->prefix.$table;
		$sql="SELECT COUNT($id) num FROM ".$table." $condition";
		$this->result=$this->query($sql);
		$row=$this->fetch($this->result);
		return $row['num'];
	}
	
	//获得结果集
	public function fetch($result){
		return $result->fetch_array($this->fetch_mode);
	}
	
	//获得所有结果集
	public function fetch_all($result){
		$rows=array();
		while($row=$this->fetch($result)){
			$rows[]=$row;	
		}
		return $rows;
	}
}
로그인 후 복사

PHP를 사용하여 모바일 앱의 인터페이스를 캡슐화하는 데이터베이스 작업 클래스를 작성하고 싶습니다.

위 내용은 객체 내용을 포함하여 PHP mysqli 데이터베이스 작업 클래스를 소개한 내용으로, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 mysqli_connect() 호출 PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 mysqli_connect() 호출 Jun 23, 2023 am 09:40 AM

PHP를 사용하여 웹 애플리케이션을 작성할 때 MySQL 데이터베이스를 사용하여 데이터를 저장하는 경우가 많습니다. PHP는 MySQLi라는 MySQL 데이터베이스와 상호 작용하는 방법을 제공합니다. 그러나 때때로 MySQLi를 사용할 때 아래와 같은 오류 메시지가 표시될 수 있습니다. PHPFatalerror:Calltoundefoundfunctionmysqli_connect() 이 오류 메시지는 PHP가 내 항목을 찾을 수 없음을 의미합니다.

PHP가 mysqli에 연결할 수 없으면 어떻게 해야 합니까? PHP가 mysqli에 연결할 수 없으면 어떻게 해야 합니까? Nov 09, 2022 am 10:07 AM

PHP가 mysqli에 연결할 수 없는 경우 해결 방법: 1. "php.ini" 파일을 엽니다. 2. "mysqli.reconnect"를 찾습니다. 3. "mysqli.reconnect = OFF"를 "mysqli.reconnect = on"으로 변경합니다.

PHP PDO 대 mysqli: 비교 및 ​​대조 PHP PDO 대 mysqli: 비교 및 ​​대조 Feb 19, 2024 pm 12:24 PM

PDOPDO는 PHP용 통합 인터페이스를 제공하는 객체 지향 데이터베이스 액세스 추상화 계층으로, 동일한 코드를 사용하여 다양한 데이터베이스(예: Mysql, postgresql, oracle)와 상호 작용할 수 있습니다. PDO는 기본 데이터베이스 연결의 복잡성을 숨기고 데이터베이스 작업을 단순화합니다. 장점과 단점 장점: 통합 인터페이스, 다중 데이터베이스 지원, 데이터베이스 작업 단순화, 개발 어려움 감소, 준비된 명령문 제공, 보안 향상, 트랜잭션 처리 지원 단점: 성능이 기본 확장보다 약간 낮을 수 있고, 외부 라이브러리에 의존하며, 오버헤드가 증가할 수 있습니다. 데모 코드는 PDO를 사용하여 mysql 데이터베이스에 연결합니다: $db=newPDO("mysql:host=localhost;dbnam

PHP 경고: mysqli_connect(): (HY000/2002): 연결에 대한 해결 방법이 거부되었습니다. PHP 경고: mysqli_connect(): (HY000/2002): 연결에 대한 해결 방법이 거부되었습니다. Jun 23, 2023 am 08:54 AM

PHP를 사용하여 MySQL 데이터베이스에 연결할 때 PHPWarning:mysqli_connect():(HY000/2002):Connectionrefused 오류 메시지가 표시되는 경우 아래 단계에 따라 이 문제를 해결할 수 있습니다. MySQL 서비스가 정상적으로 실행되고 있는지 확인하려면 먼저 MySQL 서비스가 정상적으로 실행되고 있는지 확인해야 합니다. 서비스가 실행되지 않거나 시작되지 않는 경우 연결 거부 오류가 발생할 수 있습니다. 당신은 할 수

mysql의 실행 파일은 무엇입니까? mysql의 실행 파일은 무엇입니까? Apr 11, 2023 am 10:38 AM

mysql의 실행 파일은 mysqld이고, mysqld는 Mysql 서버 프로그램을 나타내는 실행 파일이며, mysqld_safe는 간접적으로 mysqld를 호출하고 모니터 프로세스도 시작하는 시작 스크립트이다. .

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

MySQLi를 사용하여 PHP에서 데이터베이스 연결을 설정하는 방법: MySQLi 확장 포함(require_once) 연결 함수 생성(functionconnect_to_db) 연결 함수 호출($conn=connect_to_db()) 쿼리 실행($result=$conn->query()) 닫기 연결( $conn->close())

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 메서드 mysqli::prepare() 호출 PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 메서드 mysqli::prepare() 호출 Jun 23, 2023 am 11:21 AM

mysqli 확장을 사용하여 MySQL 데이터베이스에 연결하고 작동할 때 PHPFatalerror:Calltoundefinemethodmysqli::prepare() 오류가 발생하는 경우가 있습니다. 이 오류는 일반적으로 다음과 같은 이유로 발생합니다. PHP는 mysqli 확장에 대한 지원이 충분하지 않습니다. mysqli 확장이 올바르게 로드되거나 구성되지 않았습니다. MySQL 서버가 올바르게 구성되지 않았거나 실행 중입니다.

See all articles