چگونه می توان علت اصلی بروز خطای برقراری ارتباط با پایگاه داده mysql را مشاهده نمود؟

از آنجا که مشکل مربوطه می تواند به چندین علت ، از جمله اطلاعات نادرست login به دیتابیس  و یا صحیح نبودن query ها و ناسازگاری با ساختار جداول و ... رخ داده باشد ، لذا تنها راه برای مشاهده علت واقعی بروز مشکل در برقراری ارتباط و یا انتقال داده با دیتابیس استفاده از تابع die(mysql_error()); می باشد.

جهت انجام این کار کافی است پس از برقراری هر اتصال و یا نوشتن هر query این تابع را به کار ببرید.

 کد نمونه :

 

<?php

// Make a MySQL Connection

mysql_connect("67.205.74.175", "testadmin", "1admin") or die(mysql_error());

mysql_select_db("test") or die(mysql_error());

 

// Insert a row of information into the table "example"

mysql_query("INSERT INTO example

(name, age) VALUES('Test query', '23' ) ")

or die(mysql_error());

 

mysql_query("INSERT INTO example

(name, age) VALUES('test 2 query', '21' ) ")

or die(mysql_error());

 

mysql_query("INSERT INTO example

(name, age) VALUES('test 3 query', '15' ) ")

or die(mysql_error());

 

echo "Data Inserted!";

 

?>

 

در این مثال تابع مربوطه در هر مرحله ای از ارتباط query با دیتابیس که مشکلی به وقوع بپیوندد ، فعال شده و پیغامی متناسب با نوع خطا باز می گرداند ، که این امر عیب یابی و رفع آن را بسیار ساده تر خواهد نمود.

  • 0 کاربر این را مفید یافتند
آیا این پاسخ به شما کمک کرد؟

مقالات مربوطه

MYSQL Dump

روشی دیگر برای ایجاد جداول در دیتابیس MYSQL، استفاده از  روش dump می باشد. نکته: زمانی که...

حل مشکل متداول Create table if not exist در ریستور دیتابیس های MySQL

 موضوع : حل مشکل متداول  Create table if not exist در ریستور دیتابیس هایMySQL معمولا در پروسه...

تغییر Database ENGINE از InnoDB به MyISAM

حتما قبل از این تغییر سازگار بودن CMS و یا برنامه خود با MyISAM را بررسی فرمایید حتما قبل از...

Back up و Restore دیتابیس های MySQL به وسیله MySQL Dumper

از این ابزار می توان برای Back up و Restore دیتابیس های حجیم و غیر حجیم استفاده نمود. جهت...

تغییر Database ENGINE از InnoDB به MyISAM

حتما قبل از این تغییر سازگار بودن CMS و یا برنامه خود با MyISAM را بررسی فرمایید حتما قبل از...