السلام عليكم
تواجهني مشكلة في أحد المواقع بعد أن قاموا "شركة الإستضافة" بتغيير قواعد البيانات من mysql إلى 10.3.17-MariaDB
حيث أن كل أجزاء الموقع واستعلاماتها تعمل ولوحة تحكمه أيضاً, لكن جزئية واحدة وهي التي تسمح للزوار بارسال بيانات معينة لاتعمل وتعطي دائما استعلام خاطئ حتى لو حاولنا ادخال البيانات من لوحة تحكم الإدارة تكون نفس النتيجة
الموقع مبرمج يستخدم php و PDO Mysql
كود ملف الاتصال بقواعد البيانات:
<?php
define('DEBUG_MODE', false);
try {
$database = new PDO('mysql:host='.$dbhost.';dbname='.$dbname.';charset=utf8', $dbuname,$ppass);} catch (Exception $e) {
header("Content-Type: text/html; charset=utf-8");
echo "<hr />Error: " . $e->getMessage(); echo 'خطأ في الإتصال بقاعدة البيانات' ;
if(defined('DEBUG_MODE') and DEBUG_MODE){
}
exit;
}
class database {
global $database ; function __construct(){
$database_pdo = 'mysql' ;
}
public static function query($query){
return $database->query($query);
}
return $query->rowCount(); public static function fetch($query){
return $query->fetch(PDO::FETCH_ASSOC);
}
public static function rows_count($query){
}
global $database ; public static function close_cursor($query){
if(!is_object($query)){
return false;
}
return $query->closeCursor();
}
public static function insert_id(){
?> return $database->lastInsertId(); }
public static function version(){
return self::query("SHOW VARIABLES LIKE 'version'")->fetch()['Value'] ;
}
}
كود عملية الكويري:
$query = database::query
("INSERT INTO m_consult (tit,mm1,mm2,name,chname,email,country,chdate,chage,chsex,chhead,chwhight,chbwhight,chlong,cheat,chpeat,chperv,fperv,message,amessage,image,date,ip,active) VALUES ('','','','$name','$chname','$email','$country','$chdate','$chage','$chsex','$chhead','$chwhight','$chbwhight','$chlong','$cheat','$chpeat','$chperv','$fperv','$message','','$image_origin_name','$d','$ip','0')") or die
("إستعلام خاطيء");
ماهي المشكلة , الكود عمل دائما وابداً وفجأة أصبح يعمل مرة و 10 لا والآن لايعمل أبدا بدون اي تغييرات عليه او على أي جزئية برمجية.
التعليقات