PDA

View Full Version : تغییر کد mysql به mysqli



saidkh
پنج شنبه 26 اردیبهشت 1398, 11:46 صبح
سلام
من یک کد php دارم که نیاز به تغییر داره

در بخش ارور لاگ
PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home2/include/database.php on line 3

دیتابیس هم اینه

<?php
// MySQL Database Connection.
$con = mysql_connect($database['db_host'], $database['db_user'], $database['db_pass'])or die("cannot connect");
mysql_select_db($database['db_name'])or die("cannot select DB");
@mysql_query("SET NAMES 'utf8' COLLATE 'utf-8' ");
@mysql_query("SET character_set_server='utf8'; ");
@mysql_query("SET character_set_client='utf8'; ");
@mysql_query("SET character_set_results='utf8'; ");
@mysql_query("SET character_set_connection='utf8'; ");
@mysql_query("SET character_set_database='utf8'; ");
@mysql_query("SET collation_connection='utf8_general_ci'; ");
@mysql_query("SET collation_database='utf8_general_ci'; ");
@mysql_query("SET collation_server='utf8_general_ci'; ");
?>

ممنون میشم اینو تغییر بدید تا ارور برطرف بشه

ali_sed
پنج شنبه 26 اردیبهشت 1398, 14:33 عصر
سلام

هر جا mysql دیدی تغییرش بده به mysqli فقط اینکه با دقت اینکار را انجام دهید که موردی را اشتباهی تغییر ندهید. اگر کل برنامه همینه که فکر نکنم کمی وقت گیره.

یک راهش اینکه که از نسخه php 5.6 استفاده کنید. (برخی هاست های اشتراکی امکان تغییر نسخه php را به مشتریان خود میدهند)

یک راه دیگه این است که کلا نمایش خطای مربوطه را غیرفعال کنید.

saidkh
پنج شنبه 26 اردیبهشت 1398, 16:08 عصر
همین الان نسخه 5.6 native هست
ولی اطلاعات جدید نمیشه به دیتابیس اضافه کرد



سلام

هر جا mysql دیدی تغییرش بده به mysqli فقط اینکه با دقت اینکار را انجام دهید که موردی را اشتباهی تغییر ندهید. اگر کل برنامه همینه که فکر نکنم کمی وقت گیره.

یک راهش اینکه که از نسخه php 5.6 استفاده کنید. (برخی هاست های اشتراکی امکان تغییر نسخه php را به مشتریان خود میدهند)

یک راه دیگه این است که کلا نمایش خطای مربوطه را غیرفعال کنید.
همه جا mysql رو به mysqli تغییر بدم کافی هست ؟

ali_sed
پنج شنبه 26 اردیبهشت 1398, 21:16 عصر
راحت ترین کاره اینه روی سرور (production environment) خطاها را محدود کنید.


error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);

و در نهایت نمایش خطاها را نیز خاموش کنید (خطاها در فایل لاگ درج می شوند.)


ini_set('display_errors', 0);

saidkh
جمعه 27 اردیبهشت 1398, 10:39 صبح
اون تغییر تمام mysql به mysqli را انجام دادم ؛ ولی دیگه اصلن به دیتابیس وصل نمیشد

ali_sed
جمعه 27 اردیبهشت 1398, 12:18 عصر
اون تغییر تمام mysql به mysqli را انجام دادم ؛ ولی دیگه اصلن به دیتابیس وصل نمیشد

در همه فایلها این تغییر را اعمال کنید.

نمایش خطاها را فعال کنید و ببینید چه خطایی دریافت می کنید.