PHP класа за работење со mySQL

mysql class

Постојат голем број на PHP класи за користење на mySQL бази но повеќето од нив содржат многу непотребни работи кои никогаш нема да се искористат. Во овој туторијал,  како што спомнав во претходниот текст, ќе ви претставам едноставна и лесна PHP класа за користење на mySQL бази на податоци.

Преземете ја класата тука.

<?php

 /***********************************
 *	MySQL Database Class
 ***********************************
 *	Author:     Daniel Brzanov
 *	Website:    http://delicon.mk
 *	File:       db.class.php
 *	Version:    1.0.1
 **********************************/

class db {

	private $result;

	// Конструктор
	public function __construct($server, $user, $password, $db) {
		mysql_connect($server, $user, $password) or $this->debug('Грешка при воспоставувањето на врска со базата.');
		mysql_select_db($db) or $this->debug('Грешка при избирањето на базата.');
		mysql_query("SET NAMES 'utf8'");
    }

	// Се користи за правење на query
	public function query($query) {
		$this->result = mysql_query($query) or $this->debug();
		return $this->result;
	}

	// Се користи за INSERT, UPDATE, DELETE притоа не враќа вредност
	public function execute($query) {
		mysql_query($query) or $this->debug();
	}

	// Се користи за пренесување на резултатите во вид на објект
	public function fetchObject($query = '') {
		if (empty($query)) {
			return mysql_fetch_object($this->result);
		} else {
			return mysql_fetch_object($query);
		}
    }

	// Се користи за пренесување на резултатите во вид на
	// асоцијативна или нумеричка низа
	public function fetchArray($query = '') {
		if (empty($query)) {
			return mysql_fetch_array($this->result);
		} else {
			return mysql_fetch_array($query);
		}
	}

	// Се користи за проверување колку резултати содржи query-то
    public function numRows($query = '') {
		if (empty($query)) {
			return mysql_num_rows($this->result);
		} else {
			return mysql_num_rows($query);
		}
	}

	// Доколку се појави некоја грешка се користи оваа функција
	// за нејзино прикажување
	public function debug($error = '') {
		if (defined('DEBUG')) {
			if (empty($error)) { $error = mysql_error(); }
			die('<div style="border:1px solid #DE1010; font:12px verdana;"><p style="margin:0; padding:4px 0; background:#FFE3DE;"><strong style="padding:4px 10px; background:#DE1010; color:#FFF;">ERROR</strong><span style="margin-left:10px">' . $error . '</span></p></div>');
		}
	}

	// Се користи за бришење на резултатите од query-то
	public function free_result($query = '') {
		if (!empty($query)) {
			mysql_free_result($query);
			$this->result = '';
		}
	}
}

?>

Вклучување и активирање на класата

Најпрво што треба да направите е да ја вклучите и активирате класата во вашиот проект, а тоа се прави на следниот начин:

// вклучување на класата
require_once('db.class.php' );

// активирање на класата
// променливите $db_host, $db_user итн треба да ги содржат вашите податоци
$db = new DB($db_host, $db_user, $db_password, $db_name);

Користење на класата

За да направите query користете ја функцијата query()

$db->query("SELECT ime, prezime FROM avtori");

За внесување, променување или бришење на податоци се користи execute() функцијата.

$db->execute("INSERT INTO avtori SET ime = 'Даниел', prezime = 'Брзанов'");

За пренесување на избраните резултати во вид на асоцијативна или нумеричка низа се користи функцијата fetchArray()

$db->fetchArray($query);

За пренесување на избраните резултати во вид на објект се користи функцијата fetchObject()

$db->fetchObject($query);

За проверување колку резултати враќа query-то се користи numRows() функцијата.

$db->numRows($query);

За бришење на резултатите од query-то се користи функцијата free_result()

$db->free_result($query);

Целосен пример

<?php
require_once('db.class.php' );

$db = new DB($db_host, $db_user, $db_password, $db_name);

$query = $db->query("SELECT ime, prezime FROM avtori");

$vkupno = $db->numRows($query);
echo "Вкупно автори: " . $vkupno;

while ($row = $db->fectObject($query)) {
	echo $row->ime . " " . $row->prezime . "<br />";
}

$db->free_result($query);

?>

Се надевам дека ќе ви се најде за во вашите следни проекти. Доколку имате било какви прашања слободно напишете коментар.

gravatar
Автор: Даниел Брзанов
За авторот: Здраво! Јас сум Даниел a.k.a. Delicon, се занимавам со веб дизајн и програмирање повеќе од 10 години и сакам да го споделам своето знаење со сите што се заинтересирани за тоа.

3 Коментари

  1. Кој текст едитор е користен за сликата горе на почетокот на постот.

  2. @macstr1k3r едиторот од сликата е Notepad++ со моја тема.

  3. […] { $(this).remove(); }); } }); return false; }); });update.phpВо update.php се вклучува класата за работење со mySQL за која напишав туторијал пред некој ден. Се проверува […]