الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Oracle & PHP

مغلق
بدأه Magdi.. في 19 أبريل 2007 · 5 رد · 992 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني والله اريد مساعدتكم في طريقة ربط الاوراكل مع php

علماً بان عندي اوراكل 8 محمل على جهازي برنامج الاباتشي وكل ماينقصني هي الطريقة مع مثال لو تكرمتم.

#2

سلام مجدي:

للاتصال بـ oracle يمكن استخدام OCI

لكن بداية عليك أن تتأكد أن لديك المكتبة php_oci8.dll وتتأكد أنها موجودة كتوسع extension في php.ini

الآن يمكنك استعمال توابع oci (شبيهة بتوابع mysql)

لفتح اتصال مع قاعدة البيانات:

$conn = oci_connect('username', 'password', db

لتجهيز استعلام ما للتنفيذ (خطوة ضرورية قبل تنفيذ الاستعلام):

$stid = oci_parse($conn, $query);

لتنفيذ استعلام تم تجهيزه:

$r = oci_execute($stid, OCI_DEFAULT);

وكما هو الأمر مع mysql عند تنفيذ استعلام select فإن القيم المعادة يمكن الحصول عليها بشكل مصفوفة:

while ($row = oci_fetch_array($stid))

لإغلاق الاتصال:

oci_close($conn);

وعند أي خطوة يمكن الحصول على الأخطاء الناتجة باستخدام:

$e = oci_error();

حيث يمكن الوصول بعدها إلى رسالة الخطأ:

$e['message']

وهذا مثال لعرض محتويات جدول emp (مأخوذ من php manual)

<?php

  $conn = oci_connect('scott', 'tiger', 'ora9');
  if (!$conn) {
	$e = oci_error();
	print htmlentities($e['message']);
	exit;
  }

  $query = 'SELECT * FROM emp';

  $stid = oci_parse($conn, $query);
  if (!$stid) {
	$e = oci_error($conn);
	print htmlentities($e['message']);
	exit;
  }

  $r = oci_execute($stid, OCI_DEFAULT);
  if (!$r) {
	$e = oci_error($stid);
	echo htmlentities($e['message']);
	exit;
  }

  print '<table border="1">';
  while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
	print '<tr>';
	   foreach ($row as $item) {
		 print '<td>'.($item?htmlentities($item):' ').'</td>';
	   }
	   print '</tr>';
  }
  print '</table>';

  oci_close($conn);
?>

أرجو أن هذا الشرح المختصر للتوابع كان واضحاً ومفيداً

وإذا كان لديك أي استفسار لاتتردد بالسؤال

وإن أردت معلومات إضافية يمكنك البحث في php manual (موجود على php.net) عن oracle functions

وبالتوفيق إن شاء الله.

اقتباس
You live it or lie it
so DO IT ,DO IT right ,and DO IT right now...
#3

مشكور اخوي وماقصرت بس الطريقة مجربة ولم تفلح معاي ممكن توضح لي كيف نضبط الملف php.ini

وبخصوص كود الاتصال

$conn = oci_connect('username', 'password', db

يعني كيف يقوم بالاتصال مع قاعدة بيانات الاوراكل

$conn = oci_connect('scott', 'tiger', db

ارجوا منك الافادة في الكود السابق .

#4

فقط عليك أن تتأكد أن لديك المكتبة php_oci8.dll (وقم بنقلها إلى مجلد windows)

ثم افتح ملف php.ini وابحث عن السطر:

extension=php_oci8.dll

ثم أزل التعليق عن هذا السطر(قم بمحي ; من أول السطر)

وإذا لم تجد هذا السطر فابحث عن السطر:

extension=php_mysql.dll

وأضف السطر السابق ذكره بعد السطر السابق.

أما بالنسبة للاتصال بقاعدة بيانات الأوراكل فكما ذكرنا نستخدم الكود:

$conn = oci_connect('user', 'password', 'db');

حيث user هو اسم المستخدم وpassword هي كلمة السر (أكيد واضح)

أما db فهو اسم قاعدة بيانات أوراكل

إذا لم تكن تعرفه فقم بتشغيل Enterprise Manager Console وتأكد من اسم db التي تعمل عليها وتريد الاتصال بها

(على الغالب لن تجد سوى db واحدة)

وبالتوفيق إن شاء الله.

اقتباس
You live it or lie it
so DO IT ,DO IT right ,and DO IT right now...
#5

مشكور XX0111XX على اهتمامك وجاري التجربة .

#6

أهلاً مجدي ...جرب وخبرنا

اقتباس
You live it or lie it
so DO IT ,DO IT right ,and DO IT right now...

هذا الموضوع مغلق.

مواضيع مشابهة