ما هي الطريقة الإحترافية للإدخال لقاعدة البيانات

  • yassiny

السلام عليكم ، يوجد عندي قاعدة بيانات و فيها 18 حقل

و عند كتابة الأمر SQL في ملف ال PHP يكون طويل جدا و مشتت جداً

$sql="INSERT INTO `forms` (`doc_id`, `type`, `date_created`, `security`, `requier`, `title`, `helper_text`, `rank`, `max`, `error_text`, `text_type`, `p_text_type`, `options`, `other_option`, `max_size`, `enable_caption`) VALUES
(".$opt['doc_id'].",".$opt['type'].", ".$opt['date_created'].", ".$opt['security'].",".$opt['requier']." ,".$opt['title'].",".$opt['helper_text'].",".$opt['rank'].",".$opt['max'].",".$opt['error_text'].",".$opt['text_type'].",".$opt['p_text_type'].",".$opt['options'].",".$opt['other_option'].",".$opt['max_size'].",".$opt['enable_caption'].")";

فهل هناك طريقة إحترافية لتقصير أو لتنظيم هذا الأمر بال php ، و شكراً لكم .

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

كما تفضل الإخوة ORM حل عملي, كما يمكن تنفيذها بهذه الطريقة :

$fields = array(
    'name' => 'my full name',
    'email' => 'my email',
);


$sql = "insert into users (".implode(',', array_keys($fields)).") values ('".implode("','", $fields)."')";

أو

foreach($fields as $key => $val)
    $sql[] = "$key = '$val'";

$sql = "insert into users set ".implode(',',  $sql);

الحل الوحيد كالتالي :

  • استخدام البرمجة الكائنية التوجه OOP بتحويل اجزاء النظام والجداول إلى Classes

  • زيادة الدعم باستخدام مكتبة لـ ORM للتعامل مع الجداول و البيانات ككائنات Objects

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

User user = new user();
user.setUsername("hatem");
user.setPassword("12345678");
userModel.add(user);

طريقة ذكية ، أعتمد عليها في كل برمجياتي،

كما ان الكود سيكون منظما وبدون مشاكل (التعديل من الملف الاصلي للدوال)

:)