إضافة بيانات إلى جدول SQL PHP. تسجيل PHP إلى قاعدة بيانات MySQL. أمثلة عملية. توفير إدخال مخصص في قاعدة البيانات

في هذا الدرس، سنتعلم الدخول في MySQL إلى قاعدة البيانات، البيانات التي أدخلها المستخدم في النموذج. سوف تتعلم كيفية الاتصال بقاعدة بيانات MySQL من رمز صفحة الويب، وكذلك عملية وجعل البيانات إلى قاعدة البيانات.


في الدرس الماضي، قلت لك حول كيفية تثبيت Denver على جهاز الكمبيوتر الخاص بك، وكيفية إنشاء قاعدة البيانات الخاصة بك، ومستخدمها، وكيفية إنشاء جدول في قاعدة البيانات وملءه بإدخال واحد.

في هذا الدرس، سنقوم بإنشاء مستند HTML لإدخال معلومات المستخدم، بالإضافة إلى معالج ملف PHP لهذه المعلومات التي ستعالج البيانات المتصلة بقاعدة بيانات MySQL وإدراج سجلات جديدة هناك.

تحول من الكلمات إلى القضية دعنا نبدأ.

إضافة بيانات مخصصة إلى قاعدة بيانات MySQL من صفحة الويب

المرحلة الأولى: إنشاء نموذج HTML لإدخال البيانات

من البداية، نحتاج إلى الاستعداد للعمل مع PHP و MySQL واختبار التعليمات البرمجية المكتوبة على الكمبيوتر المحلي. لهذا:

1. تشغيل denwer على جهاز الكمبيوتر الخاص بك.

2. فتح القرص الظاهري، أنشأتها دنفر (على سبيل المثال، لدي قرص "z"). افتحه كذلك: الصفحة الرئيسية - LocalHost - www - إنشاء هناك ملف جديد ومنحها اسم (سأقدم اسم "DB1").

3. إذا كنت تعمل في Adobe Dreamweaver، فانتقل إلى "إدارة الموقع"، انقر فوق الزر "جديد"، حدد المسار إلى المجلد الذي تم إنشاؤه حديثا كوسيلة، يمكنك إعطاء اسم للحفظ - تم. بعد كل هذا، سيظهر مجلدك في الجزء الأيمن من Adobe Dreamweaver.

1. الآن سنقوم بإنشاء المعتاد ملف HTML. (سأتصفح به INFO_Form.html وحفظ في DB1 الذي تم إنشاؤه في المجلد الذي تم إنشاؤه فقط) ورمز التعليمات البرمجية هناك لإدخال المعلومات. يحتوي جدول مستخدمي قاعدة بيانات New_DB لدينا على 4 حقول يمكن للمستخدم ملء (سيتم ملء حقل المعرف تلقائيا). بناء على ذلك، يمكنك إنشاء التعليمات البرمجية التالية:

وثيقة بدون عنوان










هنا في المعلمة "عمل" النموذج لدينا هو ملف مسجل form.php.وبعد سيكون معالج الملفات التي سنقوم بإنشاء المزيد.

لنكن من إنشاء ملف Style.css لإعطاء الأساليب إلى شكلنا. يتم توصيله بالفعل في التعليمات البرمجية، بحيث لا يزال فقط لإنشاءه، ضعه في نفس المجلد كملف HTML وتسجيل التعليمات البرمجية التالية في ذلك:

الجسد (العرض: 400 بكسل؛ الهامش: 0 السيارات؛ خلفية: # F8F4B6؛) التسمية (العرض: كتلة؛ تعويم: اليسار؛ العرض: 150 بكسل؛ الحشد: 0 10 بكسل؛ الهامش: 18px 0 0؛ محاذاة النص: اليمين؛) # إرسال (تعويم: يمين؛ الهامش: 5px 50px 10px 0؛)

الآن النموذج يشبه هذا:

ومع ذلك، إذا قمت بإدخال البيانات وحاول إرسال النموذج، فسترى خطأ، حيث لا يوجد ملف Form.Php الكذب في دليل البرامج النصية غير موجود.

إنشاء ملف المعالجة هو مهمتنا التالية.

2. دعونا داخل المجلد dB1. إنشاء مجلد يسمى "نصوص"وبعد في ذلك، سنقوم بحفظ جميع البرامج النصية التفاعلية لدينا مع قاعدة بيانات MySQL.

بعد إنشاء المجلد، قم بإنشاء ملف PHP جديد وحفظه في مجلد Scripts ضمن الاسم form.php..

ولكن قبل أن تذهب مباشرة إلى ملف المعلومات، يجب عليك أولا الاتصال بقاعدة بياناتنا. أقترح إنشاء ملف منفصل لهذا ولهذا السبب:

على الأرجح في مشروعك، سيتعين عليك الاتصال بقاعدة بيانات MySQL ليس فقط من ملف واحد. كقاعدة عامة، مع تتفاعل قاعدة البيانات ملفات مختلفة المشروع.
إنه أمر غير عملي للغاية في كل ملف من هذا القبيل لنصرف رمز الاتصال نفسه إلى قاعدة البيانات. وإذا كانت هذه الملفات، على سبيل المثال، ستكون 50 ويوم واحد تقوم بتغيير كلمة المرور للمستخدم وسيتعين عليك البحث عن كل هذه الملفات 50 وفي كل منها تم تصحيحها.
إنه أكثر ملاءمة لاستخدام ملف منفصل للاتصال بكل ملفات حيث يجب توصيل الاتصال بقاعدة بيانات MySQL. في هذه الحالة، ستحتاج إلى إجراء تصحيحات فقط في ملف واحد.

لذلك دعونا إنشاء ملف PHP جديد، دعنا نسميها connect.php. ووضع في المجلد للحصول على البرامج النصية. في ذلك، نكتب رمز الاتصال مع قاعدة بيانات MySQL الخاصة بنا، بالإضافة إلى التعليمات البرمجية التي ستبلغ عن الأخطاء في حالة حدوثها. يرجى ملاحظة أنه كمعلمات تحتاج إلى تسجيل اسم المستخدم الخاص بك وكلمة المرور واسم قاعدة البيانات الخاصة بك. كمضيف يجب أن يكون المحلي.

خطأ في الاتصال بقاعدة البيانات! ". الخلية خطأ ()."

")؛ mysql_select_db (" new_db ") // المعلمة بين قوسين (" اسم الأساس الذي تتصل به ") أو يموت ("

خطأ في اختيار قاعدة البيانات! ". الخلية خطأ ()."

"); ?>

الآن دعنا نذهب إلى ملف Form.php وتوصيل ملف Connection.php عليه باستخدام التعليمات البرمجية التالية:

إذا حاولت الآن إرسال النموذج، فسترى بعد إرسال صفحة ويب فارغة. هذا طبيعي، لأننا انضممنا للتو إلى القاعدة ولا تأخذ أي شيء آخر بعد الآن.

إذا كنت قد رأيت رسالة خطأ، فقم بفحص صحة جميع المعلمات (اسم المستخدم وكلمة المرور واسم المضيف: localhos واسم قاعدة البيانات) واكتشاف أن دنفر قيد التشغيل.

3. نحن متصلون بنجاح مع قاعدة بيانات MySQL، والآن نحتاج خذ البيانات التي تم إدخالها في النموذج إلى معالج الملفات لديناوبعد سيساعدنا ذلك في سمات "الاسم" الموجودة في مستند HTML.

للحصول على البيانات، سوف نستخدم الخاص متغير phpارتكبنا جميع المعلومات من نموذج الويب. يسمى هذا المتغير "$ _Request".

اكتب ملف Form.php بعد توصيل ملف Connection.php، التعليمات البرمجية التالية:

$ first_name \u003d $ _Request ["first_name"]؛ $ last_name \u003d $ _Request ["last_name"]؛ $ البريد الإلكتروني \u003d $ _Request ["البريد الإلكتروني"]؛ $ facebook \u003d $ _REQUEST [Facebook]؛

4. تلقينا بيانات إلى الملف وأدرجها في المتغيرات. الآن تحتاج أرسل هذه البيانات إلى جدول قاعدة بيانات MySQLوبعد لهذا أدناه، تحتاج إلى تسجيل التعليمات البرمجية التالية:

$ insert_sql \u003d "إدراج في المستخدمين (First_name، last_name، البريد الإلكتروني، Facebook)". "القيم (" ("($ first_name)"، "($ last_name)"، "(البريد الإلكتروني $)"، "($ facebook)")؛ "؛ mysql_query ($ insert_sql)؛

هنا، أولا، نشكل طلبا، قائلا إننا نحتاج إلى إدراج المتغيرات المقابلة في الحقول المقابلة لجدول "المستخدمين". ندخل هذا الطلب إلى المتغير "$ insert_sql". ثم باستخدام وظيفة MySQL_QUERY الخاصة، نقوم بإجراء هذا الطلب.

إذا قمت الآن بملء نموذج وإرسال نموذج، ثم انظر إلى جدول "المستخدمين" في قاعدة البيانات الخاصة بك، فسترى إدخال جديد ظهر هناك بعد إرساله.

5. أدرجنا إدخال جديد من صفحة الويب في جدول قاعدة بيانات MySQL. الآن أريد أن أتطرق قليلا من التنسيق الذي يتم فيه إدراج بياناتنا.

أولا، تحتاج إلى الاعتناء بهذا الموقف عندما يقوم شخص بملء النموذج بوضع فجوات غير ضرورية في بداية مدخلات المعلومات. انهم بحاجة الى تقليم.

ثانيا، لدينا حقل فيسبوك. إذا أردنا ذلك لاحقا عرض هذه المعلومات كربط، فمن الضروري العناية بحيث يتم تخزين البيانات الموجودة في هذا الحقل بالتنسيق الصحيح (أي "http://www.facebook.com/Inderifier على Facebook "). لكن المستخدم لن يدخل دائما هذه البيانات كما نحتاج. يمكن أن تدخل: "www.facebook.com / Facebook"، "facebook.com / facebook على Facebook" أو ببساطة "/ معرف على Facebook".

يجب تجنب هذه المواقف. للقيام بذلك، دعونا نطبق الكود الخاص بنا. ممكن الثغرات الإضافية التي قطعناها مع وظيفة تقليموالتحقق من صحة عنوان URL الذي تم إدخاله على Facebook سيكون وظيفة preg_match.وبعد وبالتالي، فإن الرمز بأكمله لملف Form.php سيبدو هكذا:

وثيقة بدون عنوان يتم إدخال الإدخال الجديد في قاعدة البيانات!

"; ?>

حول وظيفة preg_match.:
هذه هي وظيفة للبحث مع تعبيرات منتظمة.

المعلمة الأولى بين قوسين تعبير منتظم، والثاني - سلسلة حيث تحتاج إلى البحث.

تعرض الوظيفة فقط الصدفة الأولى: 0 - إذا لم تكن هناك مباريات، 1 - إذا كان هناك صدفة.

جرب الآن لملء النموذج عن قصد من خلال إجراء مسافات غير ضرورية في بداية ملء بعض الحقول ودخول العنوان ل Facebook دون http: // أو بشكل عام، إدخال معرف Facebook فقط. إرسال طلب، ثم انتقل إلى قاعدة البيانات وسترى أنه على الرغم من عدم ملء البيانات بشكل صحيح تماما، فإن البيانات لديها بالضبط النوع الذي نحتاجه.

في هذا سأنتهي من هذا الدرس. جميع ملفات هذا الدرس يمكنك تنزيلها في المصدر (فقط لا تنسى تصحيح المعلمات إلى ملف Connect.php الخاص بك).

وفي الدرس التالي، سنتعلم استخراج المعلومات من قاعدة بيانات MySQL، وحدد الإدخالات المرغوبة وعرضها على الشاشة. من أجل عدم تخطي الدرس التالي، اشترك في تحديث المدونة باستخدام نموذج الاشتراك الذي تراه أدناه.

اترك تعليقاتك ومشاركتها مع الأصدقاء باستخدام أزرار الشبكات الاجتماعية.

النجاحات والاجتماع في الدرس التالي!

من المؤلف: إيه، لا يمكنك رمي أغاني الأغنية! ولكن يمكنك حذفها أو تحديث أو لصق الآخرين. الشيء الرئيسي هو أن الكلمات التي تم إجراؤها على قاعدة البيانات. اليوم سنقول كيف يتم تسجيل البيانات في MySQL وكيفية القيام بذلك بشكل صحيح في صوت الأغنية!

إضافة إدخالات باستخدام phpmyadmin

في Shell PhpMyAdmin لإدارة MySQL DBMS تنفيذ وظيفة "خفيفة الوزن" سجلات جديدة في جدول قاعدة البيانات. بسبب بساطتها، فإنه مثالي لكل من "أقداح الشاي الأخضر" والمهنيين "كسول".

أن تكون سرقت معلومات جديدة يجب أن يذهب الجدول إلى البرنامج بموجب حقوق المسؤول. ثم حدد قاعدة البيانات والجدول المطلوبة على اليسار. بعد ذلك، في القائمة العلوية، انتقل من خلال عنصر "لصق".

بعد ذلك، من أجل إدخال قاعدة بيانات MySQL، قم بملء الإطار التالي لجميع أعمدة حقل "القيمة" واضغط على "موافق" أدناه.

في لقطة الشاشة أعلاه، يمكن ملاحظة أنه يتكون الجدول المعدل "الحيوانات" من أعمدة (الحقول): معرف واسم. في القسم الثاني، يتم تحديد نوع كل من الأعمدة. نحتاج إلى تقديم قيمة لحقل الاسم فقط، لأن عمود المعرف هو المفتاح الأساسي، ولهذا، عند إنشاء جدول، يتم تعيين AutoInComder. هذا يعني أنه سيتم إنشاء قيمة حقل المعرف بواسطة MySQL تلقائيا، مضيفا إلى القيمة العددية العددية العددية 1.

لمعرفة أي حقل مسجل البيانات في MySQL هو المفتاح الأساسي (المفتاح الأساسي)، في PHPMyAdmin، انتقل إلى القائمة (مع الجدول المحدد على اليسار في القائمة) إلى علامة التبويب قائمة القائمة العلوي في "الهيكل". فيما يلي وصف لجميع الحقول الميدانية ونوعها و خصائص إضافية.

إدراج البيانات باستخدام استعلامات SQL

لكن PhpMyAdmin هو مجرد قذيفة، والمسؤولين الحقيقيين "التواصل" مع خادم MySQL باستخدام لغة الاستعلامات المهيكلة. هذا هو، "الكلام" معه في SQL. نظرا لأننا نسعى جاهدين لتصبح محترفين حقيقيين، فإن "يغرق" قليلا في دراسة أوامر SQL داخل الموضوع قيد الدراسة. فيما يلي طلب عن طريق إدخال أي في حقل "SQL"، ستقوم بإنشاء نفس قاعدة البيانات:

قم بإنشاء حيوان جدول (ID MEDERINT NOULL AUTO_INCREMENT، اسم Char (30) غير فارغ، مفتاح أساسي (ID))؛

إنشاء حيوان الجدول (معرف الوسيم غير NULL AUTO_INCREMENT،

اسم Char (30) غير فارغ، مفتاح أساسي (ID))؛

بعد إنشاء جدول وتسجيل البيانات في mySQL قاعدة البيانات (من خلال علامة التبويب "لصق"، سيقوم البرنامج بإبلاغك بأن الخط تمت إضافته إلى الحيوانات ذات قيمة المعرف 1. وسيتم عرض رمز الطلب قليلا في نافذة المحرر، والتي تشكلت لنا قذيفة وإرسالها خادم قاعدة البيانات.

كود الطلب:

إدراج قيم `my_db1`.animal`s` (` id` اسم "اسم") (NULL، "القط")؛

إدراج في `my_db1`. `قيم" `` `` اسم "" اسم ") (null،" القط ")؛

دعنا ندرسها بمزيد من التفاصيل. في SQL، يتم استخدام مشغل إدراج لإدراج سطر جديد إلى الجدول. يبلغ الخادم أنه في جدول قاعدة البيانات (my_db1. الحيوان) ضروري في مجال معرف واسم إدراج القيم المحددة (القيم (NULL، "CAT").

انتبه إلى أن عمود المعرف الذي نشره ليس قيمة رقمية، ولكنه لاغيا، لأنه بالنسبة لهذا الحقل "مضمون" التبريد التلقائي (الزيادة التلقائية).

كيفية إدراج سجل مع PHP

جميعها تعتبرناها ليست سوى "مقدمة" للعمل الرئيسي، والذي يذهب إلى المشهد "صاحب السمو" خادم برمجة خادم PHP. شكرا له أن MySQL كما تلقت DBMS مثل هذا التوزيع على الشبكة.
ربع هاتين تقنيات الإنترنت ببناء معظم الويب العالمية. حيث تبدو مظهرا كبيرا، في كل مكان ستجدها: في محركات "مكتوبة ذاتيا" وعلى الخادم.

ليس من المستغرب أنه لتسجيل البيانات في MySQL PHP يوفر الكثير من الميزات المدمجة. لكننا سنركز على الأهم منه. فيما يلي رمز يضيف "حيوان" جديد في طاولة الحيوانات. إذا حاولت بجد، فيمكنك جمع لقب كامل :)

$ con_str \u003d mysql_connect ("localhost"، "الجذر"، ""، "DB1")؛ إذا (MySQL_CONNECT ("LocalHost"، "الجذر")) (صدى "مرحبا !!"؛) mysql_select_db ("DB1"، $ con_str)؛ $ Query_str \u003d "إدراج في قيم" DB1``.Animal` (`ID` اسم" ") (NULL،" الكلب ")"؛ mysql_query ($ query_str)؛ mysql_close ()؛

$ con_str \u003d mysql_connect ("localhost"، "الجذر"، ""، "DB1")؛

إذا كان (mysql_connect ("localhost"، "الجذر")) (

صدى "مرحبا !!" ؛

mysql_select_db ("DB1"، $ con_str)؛

$ query_str \u003d. "إدراجها في قيم" DB1`.Animal` (`ID`، اسم") (NULL، "الكلب") ";

mysql_query ($ query_str)؛

mysql_close ()؛

يجب إدراج هذا الرمز في ملف php ووضعها على جانب الخادم.

باستخدام وظيفة MySQL_CONNECT ()، نتواصل مع خادم قاعدة البيانات mySQL Data.وبعد كحجة، تقبل الوظيفة المضيف واسم المستخدم من DBMS وكلمة المرور واسم القاعدة التي تحتاج إليها الاتصال بها. لدينا كلمة مرور فارغة، حيث نستخدم الخادم المثبت على الجهاز المحلي (العميل).

لإظهار جميع الأمثلة الموضحة للكتابة إلى قاعدة بيانات MySQL باستخدام PHP، استخدمنا مجموعة Gentelmen من Denver. ويشمل الملقم المحلي Apache، MySQL Server، PhpMyAdmin وعدد قليل من الوسائل المفيدة لإنشاء واختبار رمز البرنامج.

ثم في الكتلة المنطقية إذا بحثنا عن وجود اتصال بخادم قاعدة البيانات. بعد ذلك، في وظائف MySQL_SELECT_DB ()، نذكر القاعدة التي سنتصل بها. باستخدام وظيفة MySQL_QUERY ()، قمت بإطلاق استعلام SQL مسجلا إلى متغير $ query_str. وفي النهاية مغلقة اتصال مثبت (mysql_close () وظيفة). الآن، إذا نظرنا إلى حيوانك الخاص (طاولة حيوان، فستجد "حيوان أليف" جديد هناك.

لكتابة ذلك في MySQL PHP "مجاملة" قدمت مجموعة كاملة كاملة من الوظائف. الشيء الرئيسي هو ما "تحترق" القادمين الجدد عند استخدام SQL في رمز البرنامج هو الكتابة غير الصحيحة للطلبات، وانتهاك بناء الجملة واستئصال علامات التدريع (اقتباسات).

لتجنب ظهور الشعر غير الضروري "الشعر الرمادي" على رأسك، من الأفضل التحقق من صحة كتابة استعلام باستخدام phpmyadmin. للقيام بذلك، ضع رمز SQL في محرر البرنامج وتشغيله لتنفيذه. إذا كان هناك خطأ ما، فسيبدأ التطبيق "أقسم"، وسيعرض لون أحمر ويشير إلى موقع الخطأ.

كما ترون، باستخدام MySQL، يمكنك أيضا جمع لقبك الخاص، وتغيير كلمات أي "أغنية" بشكل صحيح. ولالكتابة إلى قاعدة MySQL PHP مناسبة، لذلك ننصحك أن يكون لديك صداقة "وثيقة" مع لغة البرمجة "العظيمة"!

في هذا الدليل، سوف تتعرف على كيفية بدء تشغيل قاعدة البيانات من بي أتش بي.النصي. سوف تستكشف إضافة إدخال إلى جدول MySQL،استخدام كود PHPوبعد قبل البدء، اقرأ أدلةنا الأخرى التي تكشف عن الخطوات الرئيسية للعمل مع PHP وقواعد البيانات - الاتصال من PHP إلى قاعدة بيانات MySQL (الإنجليزية).

قبل أن تبدأ، تحقق من وجود ما يلي:

  • الوصول إلى لوحة التحكم استضافة الخاص بك

الخطوة 1 - إنشاء جدول

بادئ ذي بدء، نحتاج إلى إنشاء جدول لبياناتك. هذا إجراء بسيط للغاية يمكنك القيام به في phpmyadmin. من لوحة التحكم في الاستضافة الخاصة بك. لقد وصفنا بالفعل عملية قاعدة بيانات MySQL في الدليل السابق (باللغة الإنجليزية)، لذلك سنتخطي هذه اللحظة هنا.

بعد تسجيل الدخول إلى PhpMyAdmin، سترى صورة مماثلة:

إنشاء جدول بعنوان الطلاب. لقاعدة بياناتنا u266072517_name.وبعد إنشاء جدول جديد يمكن استدعاء اصنع جدولوبعد بعد ذلك سوف ترى صفحة جديدةحيث يمكنك إدخال جميع البيانات اللازمة لجدولك:

هذه هي أسهل طريقة لإنشاء جدول، لمزيد من المعلومات حول بنية الجدول / قاعدة البيانات وأي الإعدادات التي يمكن استخدامها لكل حقل، الرجوع إلى وثائق PhpMyAdmin الرسمية (الإنجليزية).

فيما يلي بعض التفسيرات البسيطة للحقول التي سنستخدمها:

  • اسم. - هذا هو اسم مجالك. سيتم عرضها في الجزء العلوي من طاولتك.
  • يكتب - يمكنك ضبط نوع الحقل هنا. على سبيل المثال، نختار varchar.لأن هنا نحتاج إلى إدخال سلسلة باسم الاسم (الذي توجد فيه أحرف، وليس أرقام).
  • الطول / القيم. - تستخدم لتعيين الحد الأقصى لطول الإدخال الخاص بك في هذا الحقل.
  • فهرس - نستخدم الفهرس الأساسي لحقلنا "معرف". عند إنشاء جدول، يوصى به لحقل معرف واحد. يتم استخدامه في الفهرس السجلات في الجدول عند تكوين العلاقات بين الجداول. ويمكن أيضا أن يلاحظ هنا "A_I"ماذا يعني زيادة تلقائية.وبعد سيزيد هذا الإعداد تلقائيا الفهرس (1،2،3،4 ...).

انقر يحفظ. وسيتم إنشاء الجدول الخاص بك.

الخطوة 2 - إنشاء رمز PHP وإضافة إدخال إلى جدول MySQL

الخيار 1 - طريقة MySQLI

بادئ ذي بدء، تحتاج إلى إنشاء اتصال قاعدة بيانات، وفقا لإدارةنا السابقة. بعد ذلك، يمكننا المتابعة بطلب SQL لإضافة إدخال إلى جدول MySQL - إدراج.وبعد فيما يلي رمز نموذجي كامل مع طريقة الاتصال والإدراج:

". mysqli_error ($ conn)؛) mysqli_close ($ conn)؛\u003e

وبالتالي، الجزء الأول من التعليمات البرمجية (سلسلة 3 – 18 ) تؤيد جزء من إنشاء اتصال بقاعدة البيانات. لن نعيد المرور عبر هذا الجزء إذا كنت ترغب في معرفة ما تعني كل سلسلة، الرجوع إلى إدارةنا السابقة كيفية الاتصال بقاعدة البيانات (الإنجليزية).

دعنا نبدأ مع الخط 19 :

$ SQL \u003d "إدراج في طلاب (الاسم، اسم العائلة، البريد الإلكتروني) القيم (" Thom "،" Vial "،" [البريد الإلكتروني المحمي]")";

هذا هو الخط الأكثر أهمية من التعليمات البرمجية، فهو يفعل كل شيء كما وصفنا في هذا الدليل - إضافة إدخال إلى جدول MySQL إلى قاعدة البيانات. ادخل في - هذا هو تعبير يضيف إدخالا إلى جدول قاعدة بيانات MySQL المحدد. في مثالنا، نضيف بيانات إلى الجدول الطلاب..

الانتقال، بين قوسين، نحدد حقول الجدول، والقيم التي سنضيف فيها: (الاسم، اسم العائلة، البريد الإلكتروني)وبعد سيتم إضافة البيانات في المحدد. إذا كنا نكتب (البريد الإلكتروني، اسم العائلة، الاسم)ستتم إضافة القيم بترتيب مختلف.

الجزء التالي من القيمة قيم.وبعد نحن نسأل قيمنا في الحقول المحددة مسبقا. وبالتالي، سيحصل كل مجال على قيمته. على سبيل المثال، في حالتنا، سيكون شيء مثل: الاسم \u003d Thom، lastname \u003d vial، البريد الإلكتروني \u003d [البريد الإلكتروني المحمي] .

ما هو المهم أن نلاحظ أننا نشكل طلب SQL.باستخدام رمز PHP. يجب أن تكون طلبات SQL مرفقة في علامات اقتباس. في مثالنا، كل شيء بين الاقتباسات والمشي بعد SQL $ \u003d هذا هو استعلام SQL.

الجزء التالي من التعليمات البرمجية ( 20 – 22 السلاسل) تدير طلبنا وتحقق من نجاح تنفيذ الاستعلام:

إذا (mysqli_query ($ conn، $ sql)) (echo "سجل جديد تم إنشاؤه بنجاح"؛)

يتم عرض رسالة حول الحظ الجيد إذا كان الطلب يعمل بشكل صحيح.

والجزء الأخير ( 22 – 24 خطوط) إظهار رسالة أخرى، في حالة التنفيذ غير الناجح لطلبنا:

خطأ آخر (ECHO ":". $ sql. "
". mysqli_error ($ كون)؛)

يعرض هذا الرمز رسالة حول الخطأ، في حالة ظهور شيء ما.

Option 2 - طريقة كائن بيانات PHP (P HP D ATA O Bjund)

كما هو الحال في المثال السابق، نحتاج أولا إلى الاتصال بقاعدة البيانات، والتي يتم تنفيذها عند إنشاء كائن PDO جديد - يروي الدليل السابق كيف يحدث ذلك. نظرا لأن الاتصال بقاعدة بيانات MySQL هو كائن PDO، يجب علينا استخدام طرق PDO مختلفة (نوع من الوظائف التي تعد جزءا من كائن معين) لإعداد واستعداد استعلام. سبب طرق الكائنات بهذه الطريقة:

$ the_object-\u003e the_method ()؛

يسمح لك PDO ب "تحضير رمز SQL قبل تنفيذها. يتم احتساب استعلام SQL وتعديله قبل البدء. لذلك، هجوم بسيط من قبل حقن SQL يمكن إجراء ملء رمز SQL في حقل النموذج. على سبيل المثال:

// يكتب المستخدم هذا في حقل اسم المستخدم من نموذج تسجيل الدخول توم "؛ إسقاط قاعدة البيانات المستخدم؛ // يصبح الاستعلام النهائي هذا" تحديد * من user_table حيث اسم المستخدم \u003d Thom "؛ إسقاط قاعدة البيانات المستخدم؛

نظرا لأن رمز SQL صحيح صحيح، فإن نقطة مع فاصلة إسقاط قاعدة البيانات user_table. استفسار SQL جديد، وقد تمت إزالة جدول المستخدم الخاص بك. إعداد التعبيرات لا تسمح الرموز و ; لإكمال طلب المصدر، وتعليمات إسقاط قاعدة البيانات. لا تنفذ أبدا.

دائما استخدم الاستعلامات المعدة عند إرسال أو تتلقى بيانات من قاعدة البيانات باستخدام PDO.

لاستخدام التعبيرات المعدة، تحتاج إلى إنشاء متغير جديد سيؤدي إلى طريقة إعداد () في كائن قاعدة البيانات.

في النموذج الصحيح، يبدو الرمز:

$ servername \u003d "mysql.hostinger.com"؛ $ قاعدة البيانات \u003d "u266072517_name"؛ اسم المستخدم \u003d "U266072517_USER"؛ $ كلمة المرور \u003d "buystuffpwd"؛ $ sql \u003d "mysql: host \u003d $ servername؛ dbname \u003d $ قاعدة البيانات؛"؛ dsn_options \u003d؛ // قم بإنشاء اتصال جديد لقاعدة بيانات MySQL باستخدام PDO، $ my_db_connection هو كائن جرب ($ my_db_connection \u003d new pdo اسم المستخدم، كلمة المرور، $ dsn_options)؛ eco "متصل بنجاح"؛) الصيد (PDOException $ خطأ) (ECHO "خطأ في الاتصال:". $ error-\u003e getmessage ()؛) // اضبط المتغيرات لقاعدة البيانات $ first_name \u003d "thom"؛ $ last_name \u003d "Vial"؛ $ البريد الإلكتروني \u003d " [البريد الإلكتروني المحمي]"؛. تحضير ("إدراج في الطلاب (الاسم، اسم العائلة، البريد الإلكتروني) القيم (: first_name ،: last_name، البريد الإلكتروني)")؛ / المعلمة الأولى هي العنصر النائب في البيان أعلاه - المعلمة الثانية هي متغير يجب أن تشير إلى $ my_insert_statement-\u003e bindparam (: first_name، $ first_name)؛ $ my_insert_statement-\u003e bindparam (: last_name، $ last_name)؛ $ my_insert_statement -\u003e BindParam (: البريد الإلكتروني، البريد الإلكتروني $)؛ // قم بتنفيذ الاستعلام باستخدام البيانات التي حددناها للتو // أسلوب Execute () ترجع TRUE إذا كانت ناجحة وكاذبة إذا لم تكن كذلك، مما يتيح لك كتابة رسائلك الخاصة هنا إذا ($ my_insert_statement-\u003e تنفيذ ()) (ECHO "سجل جديد تم إنشاؤه بنجاح"؛) EL SE (ECHO "غير قادر على إنشاء سجل"؛ ) // في هذه المرحلة، يمكنك تغيير بيانات المتغيرات والتنفيذ مرة أخرى لإضافة المزيد من البيانات إلى قاعدة البيانات $ first_name \u003d "John"؛ $ last_name \u003d "smith"؛ $ البريد الإلكتروني \u003d " [البريد الإلكتروني المحمي]"؛ $ my_insert_statement-\u003e تنفيذ ()؛ // التنفيذ مرة أخرى الآن أن المتغيرات قد تغيرت إذا تم تغيير المتغيرات إذا كان ($ my_insert_statement-\u003e execute () eco" سجل جديد تم إنشاؤه بنجاح "؛) آخر (ECHO" غير قادر على إنشاء سجل "؛ في

في خطوط 28 و 29 و 30 نستخدم الطريقة bindParam () كائن قاعدة البيانات. هناك أيضا طريقة bindvalue ()يختلف عن السابق.

  • bindParam () -تحسب هذه الطريقة البيانات عند الطريقة نفذ - اعدم () حقق. في المرة الأولى التي يأتي النص البرنامجي إلى الطريقة نفذ - اعدم () يرى ذلك $ first_name. يشير إلى "توم"، يربط هذه القيمة وتلبية الطلب. عندما يحصل البرنامج النصي على المرة الثانية قبل الطريقة نفذ - اعدم ()انه يشبه $ first_name. يشير الآن إلى "John"، يربط هذه القيمة وتطلق طلبا مرة أخرى بقيمة جديدة. من المهم أن نفهم أننا نخلق طلبا مرة واحدة ثم استبدال البيانات المختلفة في أقسام مختلفة من البرنامج النصي.
  • bindvalue () -تقوم هذه الطريقة بحساب البيانات بمجرد أن تأتي قائمة الانتظار إليها. كما القيمة $ first_name. سأل باسم "توم" في ذلك الوقت عندما وصلنا إلى الطريقة bindvalue ()سيتم استخدامه عند استدعاء الطريقة نفذ - اعدم () ل $ my_insert_statement..

لاحظ أننا نعيد استخدام المتغير $ first_name. ونحن نطلب منها قيمة جديدة للمرة الثانية. إذا قمت بفحص قاعدة البيانات الخاصة بك بعد بدء تشغيل هذا البرنامج النصي، فسيكون هناك اسم كل من الاسم المحدد، وعكس هذه القيمة المتغيرة $ first_name.سيكون "جون" في نهاية هذا البرنامج النصي. تذكر أن PHP تقدر محتويات البرنامج النصي قبل بدء تشغيله.

إذا قمت بتغيير استبدال البرنامج النصي الخاص بك bindparam. على ال bindvalue.سوف تضيف "Thom Vial" إلى قاعدة بيانات MySQL مرتين إلى قاعدة البيانات وسيتم تجاهل جون سميث.

الخطوة 3 - تحقق من نجاح الوفاء وحل المشكلات العامة

إذا كان الاستعلام الذي أطلقناه في قاعدة بيانات MySQL ناجحة، فسنرى مثل هذه الرسالة:

حل الأخطاء الشائعة

mysqli.

في أي حالة أخرى، سيتم عرض رسالة خطأ بدلا من الرسالة. على سبيل المثال، دعنا نقول خطأ نحويلي واحد في التعليمات البرمجية وسنحصل على هذا:

كما نرى، فإن الجزء الأول من الرمز هو بالترتيب، تم تثبيت الاتصال بنجاح، لكن استعلام SQL الخاص بنا قد اصطدم بالفشل.

"خطأ: إدراج في القيم (الاسم، اسم العائلة، البريد الإلكتروني) القيم (" Thom "،" Vial "،" [البريد الإلكتروني المحمي]") لديك خطأ في بناء جملة SQL الخاص بك؛ التحقق من الدليل الذي يتوافق مع إصدار خادم MySQL الخاص بك للحصول على القيم القريبة من" (الاسم، الاسم الأخير، البريد الإلكتروني) ("Thom"، "Vial"، " [البريد الإلكتروني المحمي]")" في السطر 1 "

يسمح خطأ بناء الجملة فشل في تنفيذ البرنامج النصي الخاص بنا. الخطأ كان هنا:

$ SQL \u003d "إدراج في طلاب (الاسم، اسم العائلة، البريد الإلكتروني) القيم (" Thom "،" Vial "،" [البريد الإلكتروني المحمي]")";

كما ترون، نستخدم الأقواس مجعد بدلا من الجولة. إنه غير صحيح ويؤدي إلى خطأ في النحوية في البرنامج النصي الخاص بنا.

نمو

في خط اتصال PDO 7، يتم تعيين وضع معالجة الأخطاء على "عرض جميع الاستثناءات" (عرض جميع الاستثناءات). إذا قمت بإزالته من البرنامج النصي، فسوف يفشل الطلب، فلن تتلقى أي رسالة خطأ. مع تمكين الاستثناءات، سيتم عرض مشاكل محددة ناشئة. في الأساس، من الأفضل استخدامه عند تطوير برنامج نصي، حيث يمكن أن يحدد ذلك أسماء قواعد البيانات والجداول التي ترغب في الاختباء منها من أي شخص يمكنه الوصول إلى بياناتك غير المصرح بها. في الحالة أعلاه، عند استخدام الأقواس المجعد بدلا من الجولة، يبدو الخطأ يظهر أدناه:

خطأ فادح: استثناء UNCACHT "PDOException" مع رسالة "SQLState: خطأ في بناء الجملة أو انتهاك الوصول: 1064 لديك خطأ في بناء جملة SQL الخاص بك؛ حدد الدليل الذي يتوافق مع إصدار خادم MySQL الخاص بك للحصول على القيم القريبة من "(الاسم، الاسم الأخير، البريد الإلكتروني) (" Thom "،" Vial "،" [البريد الإلكتروني المحمي]")" في السطر 1 "

مشاكل أخرى قد تواجهها:

  • الحقول المحددة بشكل غير صحيح (حقول أو أخطاء غير موجودة في عناوين الكتابة).
  • malconformity من نوع نوع الحقل. على سبيل المثال، عندما نريد تعيين قيمة الرقم 47 مجال اسم.سنحصل على خطأ لأنه يفترض أن القيمة ستكون سلسلة. ولكن إذا حددت رقما في علامات الاقتباس، على سبيل المثال، “47” لن يكون هناك أخطاء، لأن عددنا سيتم تسجيله كسلسلة في هذا المجال.
  • محاولة لإدخال البيانات في جدول غير موجود أو خطأ في كتابة اسم الجدول.

يمكن تصحيح كل هذه الأخطاء بعد كتيبات تصحيح الأخطاء أو التحقق من سجل الخطأ (الإنجليزية).

بعد إضافة البيانات بنجاح، يجب أن نراهم في قاعدة البيانات الخاصة بنا. فيما يلي مثال على جدول أضفنا بياناتنا إذا نظرتم إلى phpmyadmin..

استنتاج

في هذا الدليل، درست كيفية استخدام رمز PHP لإضافة إدخال إلى جدول MySQLاستخدام mysqli. و نمووبعد كما استعرضت حالات الأخطاء والحلول المشتركة. معرفة كيفية استخدام رمز PHP لإضافتها إلى قاعدة بيانات MySQL مفيدة بغض النظر عما إذا كنت تتعلم في البرنامج أو إنشاء موقع الويب الخاص بك بالفعل.

في هذه المقالة، سننظر إلى كيفية استخدام PHP لإدراج صفوف إلى قاعدة بيانات MySQL.

الخطوة 1 - إنشاء جدول

تحتاج أولا إلى إنشاء جدول للبيانات. هذا إجراء بسيط يمكن تنفيذه باستخدام phpmyadmin في لوحة التحكم في الاستضافة.

بعد إدخالك phpmyadmin سترى مثل هذه الواجهة:

قم بإنشاء جدول باسم الطالب في قاعدة بيانات U266072517__Name بالنقر فوق الزر "إنشاء جدول". بعد ذلك، سنرى صفحة جديدة تحددها جميع المعلمات الضرورية للجدول:

وهذا هو الأكثر إعداد بسيطوالتي يمكن استخدامها لجدول ومزيد من المعلومات حول هيكل الجداول / قواعد البيانات.

معلمات العمود:

  • الاسم هو اسم العمود الذي يتم عرضه في الجزء العلوي من الجدول.
  • اكتب - نوع العمود. على سبيل المثال، اخترنا Varchar لأننا سندخل قيم السلسلة.
  • الطول / القيم - تستخدم للإشارة إلى الحد الأقصى الطول، والذي قد يتم تسجيله في هذا العمود.
  • الفهرس - استخدمنا الفهرس "الأساسي" لحقل "المعرف". عند إنشاء جدول، يوصى بتطبيق عمود واحد فقط كإجراء أساسي. يتم استخدامه لإدراج الإدخالات في الجدول ويطلب عند إعداد الجدول. لاحظت أيضا "A_I"، مما يعني "زيادة التلقائي" - معلمة التخصيص التلقائي للمسجل (1،2،3،4 ...).
    انقر فوق الزر "حفظ"، وسيتم إنشاء الجدول.

الخطوة 2. كتابة رمز PHP لإدراج البيانات في MySQL.

الخيار 1 - طريقة MySQLI

تحتاج أولا إلى إنشاء اتصال بقاعدة البيانات. بعد ذلك، استخدم طلب إدراج SQL. رمز العينة الكامل:

". mysqli_error ($ conn)؛) mysqli_close ($ conn)؛\u003e

تم تصميم الجزء الأول من الكود (3 - 18 صف) للاتصال بقاعدة البيانات.

لنبدأ من السطر رقم 19:

$ SQL \u003d "إدراج في طلاب (الاسم، اسم العائلة، البريد الإلكتروني) القيم (" Thom "،" Vial "،" [البريد الإلكتروني المحمي]")";

إدراج البيانات إلى قاعدة بيانات MySQL. إدراج الدخول هو مشغل يضيف البيانات إلى الجدول المحدد. في مثالنا، تتم إضافة البيانات إلى جدول الطلاب.

التالي هو قائمة الأعمدة التي يتم فيها إدراج القيم: الاسم، اسم العائلة، البريد الإلكتروني. سيتم إضافة البيانات بالترتيب المحدد. إذا كتبنا (البريد الإلكتروني، اسم العائلة، الاسم)، فسيتم إضافة القيم في ترتيب آخر.

الجزء التالي هو مشغل القيم. هنا نحدد قيم الأعمدة: الاسم \u003d Thom، Lastname \u003d Vial، البريد الإلكتروني \u003d [البريد الإلكتروني المحمي]

أطلقنا طلبا باستخدام رمز PHP. في رمز استعلام SQL يجب أن تكون محمية مع علامات الاقتباس. يتحقق الجزء التالي من الرمز (الصف 20-22) ما إذا كان طلبنا ناجحا:

إذا (MySQLI_QUERY (CONE $، $ SQL)) (ECHO "RecordCreateDededEdedEdedSacy"؛)

يعرض هذا الرمز رسالة حول الاستعلام الناجح.

والجزء الأخير (22 - 24 صف) يعرض الإخطار إذا كان الطلب غير ناجح:

خطأ آخر (ECHO ":". $ sql. "
". mysqli_error ($ كون)؛)

الخيار 2 - طريقة كائن بيانات PHP (PDO)

أولا، نحتاج إلى الاتصال بقاعدة البيانات من خلال إنشاء كائن PDD جديد. عند العمل معها، سوف نستخدم طرق PDO المختلفة. تسبب طرق الكائنات كما يلي:

$ the_object-\u003e the_method ()؛

يسمح لك PDO ب "تحضير رمز SQL قبل تنفيذها. يتم تقييم طلب SQL و "تصحيح" قبل الإطلاق. على سبيل المثال، يمكن إجراء أبسط هجوم باستخدام حقن SQL من خلال مقدمة بسيطة من رمز SQL في حقل النموذج. على سبيل المثال:

نظرا لأنه صحيح SQL- رمز صحيح، فإن نقطة الفاصلة تجعل قاعدة بيانات قطرة إسقاط user_table مع استعلام SQL جديد، يتم حذف الجدول المخصص. تعبر التعبيرات المعدة (المتغيرات ذات الصلة) لا تسمح بموجب الفاصلة المنقوطة ونقطة الاقتباس لإكمال طلب المصدر. لذلك، لن يتم تنفيذ الأمر Drop Database.

لاستخدام التعبيرات المعدة، تحتاج إلى كتابة متغير جديد يستدعي طريقة إعداد () كائن قاعدة البيانات.

الرمز الصحيح:

getmessage ()؛ ) // اضبط المتغيرات للشخص الذي نريد أن نضيف $ First_name \u003d "Thom" إلى قاعدة البيانات؛ $ last_name \u003d "Vial"؛ $ البريد الإلكتروني \u003d " [البريد الإلكتروني المحمي]"؛. إلى الطلاب (الاسم، الاسم الأخير، البريد الإلكتروني) القيم (: first_name،: last_name،: البريد الإلكتروني) ")؛ // الآن نحدد البرنامج النصي، أي متغير يشير إلى كل عنصر نائب لاستخدام طريقة BindParam () // الأول المعلمة هي حشو في المشغل أعلاه، والثاني هو متغير يجب أن يشير إليه $ الذي يجب أن يشير إليه $ my_insert_statement-\u003e bindparam (: first_name، $ first_name)؛ $ my_insert_statement-\u003e bindparam (: last_name، $ last_name)؛ $ my_insert_statement-\u003e bindparam (: البريد الإلكتروني، $ Email)؛ // قم بتنفيذ استعلام باستخدام البيانات التي تم تحديدها للتو // execute () إرجاع TRUE إذا نجحت، وخطأ، إن لم يكن، مما يوفر لك القدرة على عرض رسالة خاصة بك ($ my_insert_statement-\u003e تنفيذ ()) (echo "جديد reco. rdcreatededSucccess "؛ ) آخر (صدى "غير قادر على createrecord"؛) // في هذه المرحلة، يمكنك تغيير هذه المتغيرات وتنفيذ الطلب لإضافة بيانات أخرى إلى البيانات إلى قاعدة البيانات $ first_name \u003d "John"؛ $ last_name \u003d "smith"؛ $ البريد الإلكتروني \u003d " [البريد الإلكتروني المحمي]"؛ $ my_insert_statement-\u003e تنفيذ ()؛ // قم بالتنفيذ مرة أخرى عند تغيير المتغير إذا كان ($ my_insert_statement-\u003e تنفيذ ()) (صدى" echo "recordreatededededuccess"؛) آخر (صدى "غير قادر على Createrecord"؛

في الخطوط 28 و 29 و 30، نستخدم طريقة BindParam () كائن قاعدة البيانات. هناك أيضا طريقة Bindvalue ()، والتي تختلف تماما عن السابق.

  • bindParam () - تقدر هذه الطريقة البيانات عند الوصول إلى طريقة تنفيذها. لأول مرة، عندما يصل البرنامج النصي إلى طريقة تنفيذ ()، يرى أن $ first_name يتوافق مع "Thom". ثم يربط هذه القيمة ويبدأ الطلب. عندما يصل البرنامج النصي إلى أسلوب Execute () الثاني، فإنه يرى أن $ first_name يتوافق الآن مع "John". بعد ذلك يربط هذه القيمة وبدأت مرة أخرى طلبا بقيم جديدة. من المهم أن نتذكر أننا حددنا ذات مرة الطلب وإعادة استخدامه مع بيانات مختلفة في نقاط مختلفة من البرنامج النصي.
  • bindvalue () - هذه الطريقة تقيم البيانات بمجرد تحقيق BINDVALUE (). نظرا لأنه للحصول على $ first_name، تم تعيين قيمة "Thom" على BindValue ()، وسيتم استخدامها في كل مرة يتم استدعاء طريقة التنفيذ () للحصول عليها $ my_insert_statement.
    يرجى ملاحظة أننا نعيد استخدام متغير $ First_Name وتعيين قيمة جديدة للمرة الثانية. بعد بدء البرنامج النصي في قاعدة البيانات، سيتم تحديد كلا اسمين، على الرغم من حقيقة أن متغير $ first_name في نهاية البرنامج النصي هو "John". تذكر أن PHP يتحقق من البرنامج النصي بأكمله قبل تشغيله.

إذا قمت بتحديث البرنامج النصي لاستبدال BindParam على Bindvalue، فأنت تدرج مرتين في قاعدة بيانات "Thom Vial"، وسيتم تجاهل جون سميث.

الخطوة 3 - تأكيد التنفيذ والناجح وحل المشاكل

إذا كان الاستعلام لإدراج الصفوف إلى قاعدة البيانات ناجحة، فسنرى الرسالة التالية:

القضاء على الأخطاء الشائعة

mysqli.

في أي حالة أخرى، سيتم عرض رسالة خطأ. على سبيل المثال، دعونا نجعل خطأ سليم واحد في التعليمات البرمجية، وسوف نحصل على ما يلي:

الجزء الأول من الرمز هو بالترتيب، تم إنشاء الاتصال بنجاح، لكن طلب SQL لم يمر.

"خطأ: إدراج في القيم (الاسم، اسم العائلة، البريد الإلكتروني) القيم (" Thom "،" Vial "،" [البريد الإلكتروني المحمي]") لديك خطأ في بناء جملة SQL الخاص بك؛ تحقق من ThreakeThatcorresponds إلى إصدار خادم MySQL الخاص بك ل RightSynTax لاستخدام قيم" (الاسم، الاسم الأخير، البريد الإلكتروني) القيم ("Thom"، "Vial"، " [البريد الإلكتروني المحمي]")" في السطر 1 "

تم إجراء خطأ في بناء جملة تسبب فشل البرنامج النصي. الخطأ كان هنا:

$ SQL \u003d "إدراج في طلاب (الاسم، اسم العائلة، البريد الإلكتروني) القيم (" Thom "،" Vial "،" [البريد الإلكتروني المحمي]")";

استخدمنا أقواس مجعد بدلا من الطبيعي. إنه غير صحيح، وأصدر البرنامج النصي خطأ في النحوية.

نمو

في السطر 7 اتصالات PDO لوضع وضع الخطأ "عرض جميع الاستثناءات". إذا تم تحديد قيمة أخرى، فلن ينجح الطلب، فلن نتلقى أي رسائل خطأ.

يجب استخدام هذا الإعداد فقط عند تطوير البرنامج النصي. عند تنشيطها، يمكن عرض أسماء قاعدة البيانات والجداول أنه من الأفضل إخفاء لأغراض الأمان. في الحالة الموصوفة عند، بدلا من الأقواس التقليدية المستخدمة مجعد، تبدو رسالة الخطأ مثل هذا:

خطأ فادح: UncagTexception "PDOException" مع الرسالة "SQLSTATE: خطأ في بناء الجملة أو الوصول إلى الملحقات: 1064 لديك خطأ في بناء جملة SQL الخاص بك؛ تحقق من الإجراءات الكلي الخاصة بك إلى إصدار خادم MySQL الخاص بك ل RightSynTax لاستخدام قيم "(الاسم، الاسم الأخير، البريد الإلكتروني) القيم (" Thom "،" Vial "،" [البريد الإلكتروني المحمي]")" في السطر 1 "

المشاكل المحتملة الأخرى:

  • يتم الإشارة إلى الأعمدة بشكل غير صحيح (أعمدة غير موجودة أو أخطاء إملائية بأسمائها).
  • يتم تعيين نوع واحد من القيمة عمود نوع آخر. على سبيل المثال، إذا حاولت إدراج الرقم 47 في عمود الاسم، فسنحصل على خطأ. في هذا العمود، يجب عليك استخدام قيمة سلسلة. ولكن إذا أشرنا إلى رقم في علامات اقتباس (على سبيل المثال، "47")، فسوف تعمل، لأنها سلسلة.
  • محاولة إدخال البيانات في جدول غير موجود. وكذلك خطأ إملائي مقبول في اسم الجدول.

بعد إدخال البيانات الناجح، سنرى أنه يضاف إلى قاعدة البيانات. فيما يلي مثال على جدول إضاف فيه البيانات.

جميع الوحدات النمطية أو تطبيقات الويب التي تحتاجها إلى إنشاء بعض البيانات وكتابة بعض البيانات (على سبيل المثال، الاسم والعمر والعنوان، إلخ) وظيفة بسيطة في لغة إدراج MySQL في القيم "الاسم" (الاسم، القيمة 1، القيمة 2) ('Vasya'، '1'، '2')؛

يتم إحضار جميع المتغيرات إلى قاعدة البيانات وفقا للقيم التي حددناها في الأقواس الأوائل. من المهم مراعاة ترميز البرنامج النصي المعالج وقاعدة البيانات وملف التكوين. من المستحسن استخدام ترميز UTF-8 الأكثر شيوعا.

يجب أن يؤخذ في الاعتبار أنه يمكنك التسجيل في قاعدة البيانات بطريقتين.

الطريقة الأولى إذا لم نحدد الأسماء الأولية لجداول قاعدة البيانات. ثم يجب علينا سرد جميع المتغيرات لكل خلية، وهي كم عدد الخلايا الموجودة في جدول قاعدة البيانات، لذلك يجب إدراج العديد من المتغيرات بين الأقواس بعد القيمة.

على سبيل المثال:
في جدول قاعدة البيانات، أربع خلايا. لذلك بعد عنصر القيمة (..)، يجب إدراج جميع المتغيرات الأربعة بين قوسين. ونقطة أخرى: إذا كان المتغير غير موجود، دعنا نقول أن هذه هي معلمة اختيارية. ثم نكتب فقط قيمة فارغة في علامات الاقتباس ''،

"إدراجها في قيم الاسم \\Base (NULL،". اسم $. "`، `` `2`)"؛ / / المعنى الفارغ الثالث مكتوب في علامات الاقتباس

لكن هذا الطلب له عيوب صغيرة. إذا قمت بإضافة خلية واحدة أو خلية إلى جدول قاعدة البيانات، فسيعود هذا الطلب الخطأ. لأنه في هذه الطريقة، مطلوب إدراج جميع الخلايا في الاستعلام.

الطريق الثاني إذا قمت بعد إدراج الاستعلام في "الاسم_Base" (...) قم بإدراج جميع الخلايا بعد اسم قاعدة البيانات. مثال يعتبر بالفعل أعلى قليلا. إذا نسيت، اكتب إعادة:

"إدراجها في قيم" الاسم "(الاسم" (الاسم "،" القيمة "،" القيمة 2 ") (NULL،` ". $ اسم"؛ "` "،`، `2`)"؛

هنا أدرجنا جميع الخلايا (الاسم، القيمة 1، القيمة 2). وإذا قمت بإضافة خلايا إضافية إلى جدول قاعدة البيانات، لا ينبغي تغيير بناء جملة الاستعلام. ولكن إذا لم نحتاج إلى إضافة مرة واحدة في طلب واحد، فإن المتغيرات الأكثر تقدما التي نحتاجها لأولئك الخلايا التي تم إنشاؤها حديثا.

هذا الخطأ يطير في كثير من الأحيان، بعد تغيير صغير على الموقع. لنفترض أن المسؤول أضاف خلية إضافية إلى قاعدة البيانات، دعنا نقول الحالة. ولم يكن لدى معالج البرنامج النصي وقتا لتغيير الوحدة النمطية، أو قد نسيت الأمر الابتدائي. ولكن بعض المواقع لديها هيكل معقد للغاية، والكثير من الوقت والجهد يمكن أن تذهب إلى البحث عن الخطأ. لذلك، من المستحسن استخدام الطريقة الثانية للتسجيل إلى قاعدة البيانات. على الرغم من أن هذا النوع من الأخطاء في كثير من الأحيان يسمح برامج الويب المبتدئين.

تسجيل PHP إلى قاعدة بيانات MySQL. أمثلة عملية

لذلك، وصلنا الآن إلى جوهرها عندما تعمل مع استعلامات قاعدة البيانات. سنفعل كل شيء في أمثلة عملية. قم بإنشاء برنامج نصي بسيط لتسجيل التعليقات التي ستترك الزوار للموقع.

لتبدأ، قم بإنشاء جدول MSG في قاعدة بيانات من أربع الخلايا. في الخلية الأولى كتابة معرف التعليق. يصل عدد الأحرف في الخلية إلى عشرة أحرف مع المعلمة الزيادة التلقائية. ستتغير المعلمة التلقائية هذه في كل مرة تتم فيها تعليق التعليق بواسطة +1.

اسم مستخدم الخلية التالي. عدد الأحرف - إلى مائتي - ثلاثمائة حرف لا تختاره، معلمة Char. الخلية القديمة هي بعد ذلك إجراء نص التعليق نفسه في هذه الخلية. إذا كنت ترغب في تسجيل نصوص كبيرة من التعليقات، فيمكنك ضبط المعلمة النصية - ثم يمكنك ببساطة إدخال النصوص الضخمة، أكثر من خمسمائة ألف حرف أو تعيين معلمة TinyText، ثم ستستغرق أقل قليلا من الشخصيات، لكنها سوف تعمل بشكل أسرع قليلا.

ولكن في حالتنا، سنعلض في اعتبارنا أن الزوار لن يكتبوا نصوص ضخمة. وبالتالي، سنقوم بتقييد أنفسنا وسنقوم بإصلاح ألفي حرفا مع المعلمة varchar، لتسجيل قيم السلسلة.

في الخلية الأخيرة، سنكتب تاريخ إجراء تسجيل نصي. سنكتب بتنسيق رقمي في ثوان، باستخدام وقت وظيفة التاريخ والوقت الحالي ()؛ بالنسبة للبساطة، ستقوم الوظيفة بتعيين الوقت $ \u003d الوقت () إلى المتغير؛ وإنشاء خلية في قاعدة البيانات. نسمي اسم الوقت مع المعلمة Int (للقيم العددية). أنا تنبأ بعدد الأحرف أفضل من أحد عشر (مع احتياطي صغير للمستقبل :-).

قاعدة بيانات تفريغ التالي:

هيكل الجدول `MSG` MSG إنشاء جدول (` int (10) غير فارغة Auto_incrent، `اسم" char` غير فارغ، `coment` varchar (2000) لا لاغية،` time` int (11) غير فارغ، أساسي محرك مفتاح (`ID`)) \u003d MyISAM Default Charset \u003d UTF8 Auto_incrent \u003d 1؛

كل شيء، جدول التعليقات التي تم إنشاؤها. الآن نكتب نموذجا لكتابة تعليق ونفسي معالج البرنامج النصي. HTML -Code نماذج لإدخال تعليق بعد ذلك.