IT-Swarm.Net

الگ الگ ڈیٹا بیس سے منسلک کرنے کے لئے wpdb کا استعمال کرتے ہوئے

میں wpdb کسی دوسرے ڈیٹا بیس سے منسلک کرنا چاہتا ہوں. میں مثال کیسے تشکیل دے سکتا ہوں اور ڈیٹا بیس کا نام/صارف نام/پاس ورڈ پاس کروں؟

شکریہ

80
Wadih M.

ہاں یہ ممکن ہے.

کسی بھی ڈیٹا بیس تک رسائی حاصل کرنے کے لئے wpdb اعتراض استعمال کیا جا سکتا ہے. بالکل ورڈپریس سے متعلق ہونے کی ضرورت نہیں، جو بہت دلچسپ ہے.

فائدہ یہ ہے کہ تمام wpdb کلاسز اور get_results جیسے افعال کو استعمال کرنے کی صلاحیت ہے، وغیرہ تاکہ وہ وہیل دوبارہ دوبارہ کرنے کی ضرورت نہیں ہے.

یہاں کیسے ہے:

$mydb = new wpdb('username','password','database','localhost');
$rows = $mydb->get_results("select Name from my_table");
echo "<ul>";
foreach ($rows as $obj) :
   echo "<li>".$obj->Name."</li>";
endforeach;
echo "</ul>";
133
Wadih M.

ورڈپریس میں ایک دوسرے ڈیٹا بیس سے رابطہ قائم کرنا آسان ہے، آپ صرف WPDB کلاس کی ایک نئی مثال بناتے ہیں اور اسی طرح استعمال کرتے ہیں جیسے آپ معیاری $ wpdb مثال کے طور پر ہم سب جانتے ہیں اور محبت کرتے ہیں.

دوسرے ڈیٹا بیس کو سنبھالنے میں ایک ہی لاگ ان کی معلومات ہے جیسا کہ مرکزی WP ایک لاگ ان معلومات کو سخت کرنے سے بچنے کے لۓ آپ wp-config.php سے پیش وضاحتی رکاوٹ بھی استعمال کرسکتے ہیں.

/**
 * Instantiate the wpdb class to connect to your second database, $database_name
 */
$second_db = new wpdb(DB_USER, DB_PASSWORD, $database_name, DB_Host);
/**
 * Use the new database object just like you would use $wpdb
 */
$results = $second_db->get_results($your_query);
29
jerclarke

کسی نے یہ نہیں کہا ہے لہذا میں نے سوچا کہ میں بھی آسان طریقہ شامل کروں گا ..

جب تک آپ کے اضافی ڈیٹا بیس میں وہی صارف/پاس تفصیلات ہیں جو تک رسائی حاصل کرنے کے لۓ آپ کے ورڈپریس ڈیٹا بیس کے طور پر آپ ڈیٹا بیس کا نام استعمال کرسکتے ہیں اس سے پہلے ٹیبل کا نام اس طرح

$query = $wpdb->prepare('SELECT * FROM dbname.dbtable WHERE 1');
$result = $wpdb->get_results($query);
21
CommentLuv

میں ابھی تک تبصرہ نہیں کرسکتا، لیکن میں چاہتا تھا Wadih ایم کے جواب (جس کا بہت اچھا).

ڈبلیو پی کے ڈیٹا بیس کی کلاس جسٹن ونسنٹ کے آئی ایس ایس ایل کا ایک حسب ضرورت ورژن ہے. اگر آپ انٹرفیس پسند کرتے ہیں اور آپ ایسی ویب سائٹ کرنا چاہتے ہیں جو ورڈپریس پر مبنی نہیں ہیں تو آپ اسے چیک کرنا چاہتے ہیں: http://justinvincent.com/ezsql

7
gabrielk

جبکہ یہ کام کریں گے، آپ کو "دوسرے" اپنی مرضی کے مطابق خصوصیات جیسے get_post_custom اور ورڈپریس سوالات استعمال کرنے کی صلاحیت کھو جائے گی. سادہ حل ہے

$wpdb->select('database_name');

جس میں ڈیٹا بیس کے نظام وسیع (ایک ایس ایس ایل منتخب_db) میں تبدیل ہوتا ہے. اگر آپ صرف ایک سادہ سوال کرنا چاہتے ہیں تو ڈیٹا بیس کے قابل طریقہ کار کام کرتا ہے، لیکن اگر آپ کسی دوسرے ورڈپریس بلاگ تک رسائی حاصل کرنا چاہتے ہیں تو آپ منتخب کرسکتے ہیں. آپ کو صرف اس وقت تبدیل کرنے کی ضرورت ہوگی جب آپ کئے جائیں یا آپ کا بلاگ عجیب چیزیں کر سکتا ہے.

6
user4533

میں $wpdb کا استعمال کرتے ہوئے جدوجہد کر رہا تھا جو والدین سائٹ سے دوسرا بلاگ ڈیٹا بیس سے منسلک کرنے کے لئے دو بلاگز کو اپ ڈیٹ کرنے کی ضرورت ہے. میں نے دوسرے ڈیٹا بیس کو منتخب کرنے کے لئے $wpdb->select($dbname, $dbh) کا استعمال کیا تھا، لیکن میں اب بھی پہلے ڈیٹا بیس سے نتائج حاصل کر رہا تھا.

میں نے مسئلہ کو حل کرکے wp_cache_flush() بلا کر ورڈپریس کیش کو صاف کرنے سے پہلے WP افعال کو دوسرے ڈیٹا بیس پر بلایا ہے.

4
Matt