السلام عليكم ,,
قد تستغربون العنوان
لكن والحمدلله انتهيت من اول كلاس مفيد لي و اتمنى ان يستفيد منه الجميع , طبعا هو لقواعد البيانات .
مميزاته :
* يمكن استخدام نوعين من قواعد البيانات mysql او mssql
* يظهر رساله نصيه عند وجود الاخطاء للزائر
* امكانية ارسال تقرير عن الاخطاء
طبعا قد يكون هناك اخطا في الكود :roll: وهو مجاني ويحق لك التعديل عليه و توزيعه كما تشاء .
الكود :
كود PHP:
<?php
/**
* كلاس خاص للتعامل مع اكثر من نوع لقواعد البيانات
* من اعداد و برمجة MaaSTaaR
*
* هذا الكود مجاني و يحق لك التعديل عليه كما تشاء
*
* [url]www.phpvillage.com[/url] , [url]www.vbzoom.com[/url] , [url]www.el7zn.com[/url]
**/
class SmartSQL {
var $host="localhost"; //كما هو
var $username=""; // اسم المستخدم لقاعدة البيانات
var $password=""; // الكلمه السريه لقاعدة البيانات
var $db=""; // اسم قاعدة البيانات
var $type="mysql"; // نوع القاعده التي تعمل عليها mysql او mssql
var $report=1; // هل تريد ان يرسل لك رساله عند حدوث خطأ في القاعده ؟
var $email="mail@mail.com"; // بريدك
var $sender="Database Error"; // اسم المرسل
function sql_connect() {
if ($this->type == "mysql") {
$this->connect=@mysql_connect($this->host,$this->username,$this->password) or die($this->error_msg("خطأ في الاتصال"));
}
elseif ($this->type == "mssql") {
$this->connect=@mssql_connect($this->host,$this->username,$this->password) or die($this->error_msg("خطأ في الاتصال"));
}
elseif ($this->type != "mysql" or $this->type != "mssql") {
$this->style();
echo '<div align="center">نوع الاختيار غير موجود في الكود يجب اختيار MySQL , MsSQL</div>';
}
}
function sql_selectdb() {
if ($this->type == "mysql") {
$this->select=@mysql_select_db($this->db) or die($this->error_msg("خطأ في اختيار قاعدة البيانات"));
}
elseif ($this->type == "mssql") {
$this->select=@mssql_select_db($this->db) or die($this->error_msg("خطأ في اختيار قاعدة البيانات"));
}
elseif ($this->type != "mysql" or $this->type != "mssql") {
$this->style();
echo '<div align="center">نوع الاختيار غير موجود في الكود يجب اختيار MySQL , MsSQL</div>';
}
}
function sql_close() {
if ($this->type == "mysql") {
$this->close=@mysql_close() or die($this->error_msg("خطأ في اغلاق الاتصال"));
}
elseif ($this->type == "mssql") {
$this->close=@mssql_close() or die($this->error_msg("خطأ في اغلاق الاتصال"));
}
elseif ($this->type != "mysql" or $this->type != "mssql") {
$this->style();
echo '<div align="center">نوع الاختيار غير موجود في الكود يجب اختيار MySQL , MsSQL</div>';
}
}
function sql_fetch_array($query) {
if ($this->type == "mysql") {
$this->fetch=@mysql_fetch_array($query) or die($this->error_msg("خطأ في استخراج البيانات"));
}
elseif ($this->type == "mssql") {
$this->fetch=@mssql_fetch_array($query) or die($this->error_msg("خطأ في استخراج البيانات"));
}
elseif ($this->type != "mysql" or $this->type != "mssql") {
$this->style();
echo '<div align="center">نوع الاختيار غير موجود في الكود يجب اختيار MySQL , MsSQL</div>';
}
}
function sql_query($query) {
if ($this->type == "mysql") {
$this->query=@mysql_query($query) or die($this->error_msg("خطأ في الاستعلام"));
}
elseif ($this->type == "mssql") {
$this->fetch=@mssql_query($query) or die($this->error_msg("خطأ في الاستعلام"));
}
elseif ($this->type != "mysql" or $this->type != "mssql") {
$this->style();
echo '<div align="center">نوع الاختيار غير موجود في الكود يجب اختيار MySQL , MsSQL</div>';
}
}
function sql_rows_num($query) {
if ($this->type == "mysql") {
$this->query=@mysql_num_rows($query) or die($this->error_msg("خطأ في استخراج عدد الحقول"));
}
elseif ($this->type == "mssql") {
$this->fetch=@mssql_num_rows($query) or die($this->error_msg("خطأ في استخراج عدد الحقول"));
}
elseif ($this->type != "mysql" or $this->type != "mssql") {
$this->style();
echo '<div align="center">نوع الاختيار غير موجود في الكود يجب اختيار MySQL , MsSQL</div>';
}
}
function error_msg($msg) {
if ($this->type == "mysql") {
$error_no = mysql_errno();
$error_msg = mysql_error();
if ($this->report == 1) {
$FROM = $this->sender;
$subject = "خطأ في قاعدة البيانات !!";
$masg = "السلام عليكم و رحمة الله و بركاته ..";
$masg .= '<br>';
$masg .= "هذه الرساله سببها خطأ في قاعدة البيانات و سبب الخطأ هو :";
$masg .= $msg;
$masg .= "<br>";
$masg .= "Error Number :" . $error_no;
$masg .= '<br>';
$masg .= "Error Massage :" . $error_msg;
$hedr = "Content-Type: text/html; charset=iso-8859-1\n";
$hedr .= "From:"."$FROM\n";
@mail($this->email,$subject,$masg,$hedr);
}
}
elseif ($this->type = "mssql") {
if ($this->report == 1) {
$FROM = $this->sender;
$subject = "خطأ في قاعدة البيانات !!";
$masg = "السلام عليكم و رحمة الله و بركاته ..";
$masg .= '<br>';
$masg .= "هذه الرساله سببها خطأ في قاعدة البيانات و سبب الخطأ هو :";
$masg .= $msg;
$masg .= "<br>";
$masg .= "Error Massage :" . $error_msg;
$hedr = "Content-Type: text/html; charset=iso-8859-1\n";
$hedr .= "From:"."$FROM\n";
@mail($this->email,$subject,$masg,$hedr);
}
}
$this->style();
echo "<html><head><title>خطأ في قاعدة البيانات</title><body>";
echo '<div align="center">';
echo "هناك خطأ في قاعدة البيانات و سبب هذا الخطأ : ";
#echo '<br>';
echo $msg;
echo '<br>';
echo '<br>';
echo "نعتذر اذا تسببنا لكم في اي ازعاج";
echo '</div>';
exit();
}
function style() {
echo "<style>BODY{FONT-FAMILY:tahoma;FONT-SIZE:12px;}</style>";
}
}
?>
منتظر اقتراحاتكم و ملاحظاتكم
تحياتي