إضافة إلى mysql عبر php. كيفية الكتابة إلى قاعدة بيانات MySQL باستخدام كود PHP
التعليقات تم نقلها من المدونة
سيرجي
09/14/2016 الساعة 01:25
طاب مسائك!
أنا مهتم بهذا السؤال: ما أسهل طريقة لتنظيم تخزين البيانات وإعدادات البرامج دون استخدام قاعدة بيانات؟ لا أريد أن أكون مقيدًا بـ MySQL أو Access ..
مشرف
09/14/2016 الساعة 22:14
مرحبا!
الخصائص. الإعدادات
التطبيق
ملف XML
التسلسل
حاول اختيار شيء من القائمة.
نيكولاي
09/16/2016 الساعة 02:28
مرحبًا ، كيفية إزالة الصف المحدد في dataGridVIew من dataGridVIew و phpMyAdmin.
PhpMyAdmin؟ هذا مجرد غلاف للعمل مع قاعدة البيانات ، هل يمكن أن توضح؟
نيكولاي
09/18/2016 الساعة 02:24
تحتاج إلى إزالة الصف المحدد من DataGridView ومن قاعدة البيانات.
مشرف
09/19/2016 الساعة 07:00
كيفية حذف صف في قاعدة بيانات Mysql - مقال مضاف.
نيكولاي
09/20/2016 الساعة 09:20
شكرا جزيلا.
ديما
09/20/2016 الساعة 10:24
مرحبا هل يمكنك من هنالا تنفذ عبر DataGridView ، ولكن عبر ComboBox؟ إذا كان الأمر كذلك ، فكيف؟ شكرا لك.
مشرف
09/22/2016 الساعة 03:21
أهلا. مثال:
GENNADY
09/22/2016 الساعة 18:25
لماذا أدخل النص التالي في قاعدة البيانات System.Windows.Forms.TextBox ، نص: ge
بالمناسبة ، هذا (ge) في النهاية هو جين مكتوب ، على الرغم من أن النص محدد في إعدادات الجدول. يجب أن تكون كلمة الجين مناسبة أكثر ، أحضر هذا الجدول إلى برنامجي واتضح أنه يعرض لي كل هذا النص غير الضروري
مشرف
09.24.2016 الساعة 04:17
على الأرجح ، تمت كتابة استعلام SQL بشكل غير صحيح ، على سبيل المثال:
في textBox1 ، أدخل الاسم: Gena.
استعلام SQL: "إدراج في قيم اسم الجدول (textBox1، ..)"؛ النتيجة: System.Windows.Forms.TextBox
وتحتاج إلى تمرير: "إدراج في قيم اسم الجدول (textBox1.Text، ..)" ؛
النتيجة: الجين
GENNADY
09.24.2016 الساعة 18:41
هذه طريقة العمل. شكرا
سيرجي
09/25/2016 الساعة 11:51
أهلا. كيف يتم تنفيذ الإضافة إلى قاعدة البيانات عبر TextBox؟
مشرف
09/26/2016 الساعة 20:53
كل شيء هو نفسه من حيث المبدأ. على سبيل المثال ، لنأخذ المثال الأخير ، حيث تحتاج:
// إنشاء معلمات وإضافتها إلى المجموعة cmd.Parameters.AddWithValue ("@ Name"، textBox1.Text) ؛ cmd.Parameters.AddWithValue ("@ LastName"، textBox2.Text) ؛
الآن المعلمات: Name و LastName تلقي القيم التي تم إدخالها في مربعات النص ونقلها إلى قاعدة البيانات
لينارا
09/27/2016 الساعة 17:45
مرحبًا ، كيف يتم تمييز الصف المميز في dataGridVIew و phpMyAdmin؟
مشرف
09/29/2016 الساعة 02:06
لا أعرف كيف يمكن عمل السطر المميز في phpMyAdmin. وفي dataGridView ، على سبيل المثال ، يمكن القيام بذلك باستخدام حدث SelectionChanged.
PSH
09/30/2016 الساعة 03:48
2 لينارا:
إذا كانت هذه هي الطريقة التي تريد تحرير السلاسل بها ، فاختر أداة مثل HediSQL ، وقم بتعديل وتعديل السلاسل.
2admin
يوم جيد! شكرا على المواد - كل شيء مبين ببرود شديد)
السؤال: أقوم بإضافة البيانات باستخدام هذا الاستعلام (إنه اختبار واحد):
String sql = "INSERT INTO users (` FIO`، `Tour`،` Count`، `Cost`،` Date`، `Passport`،` Birth`) VALUES ("Kolyan"، "Moscow"، "1 + 1 "، 1100،" 2011-11-11 "،" 1111 1111 "،" 11/9/1900 ") ؛" ؛
يتم إدخال البيانات كل شيء على ما يرام ، ولكن في قاعدة البيانات (mysql) بدلاً من الأبجدية السيريلية هناك "؟؟؟؟".
يقول الاستوديو المرئي أن System.String عبارة عن تسلسل Unicode.
حاول أيضًا:
تغيير قاعدة البيانات `test` COLLATE" koi8r_general_ci "؛ ALTER TABLE `users` COLLATE =" koi8r_general_ci "؛ ALTER DATABASE `test` COLLATE" utf8_unicode_ci "؛ ALTER TABLE `users` COLLATE =" utf8_unicode_ci "؛
لكنها لا تساعد ..
ما يمكن ان يكون خطأ؟ ترميز مختلف لـ VS و DB؟ أو ماذا؟
يمكن أن ترسل ما تقرأ / تغيير.
شكرا لك
مشرف
01.10.2016 الساعة 09:49
أهلا.
في قاعدة البيانات (وفي الجدول) يكون الترتيب هو utf_general_ci
هل توجد مثل هذه المقارنة؟ ربما utf8_general_ci؟
عادة ، يتم إنشاء قاعدة بيانات Mysql عن طريق اختيار مقارنة utf8_general_ci ، لذلك لا توجد مشاكل مع الأبجدية السيريلية ، ما لم يكن ، بالطبع ، يأتي العميل إلى الخادم.
يتم استخدام COLLATION للمقارنة ، ولكن في هذه الحالة تعتبر مجموعة الأحرف مهمة. لذلك ، تحتاج أولاً إلى التأكد من ضبطه بشكل صحيح على الخادم ، على سبيل المثال ، في utf8 ، وليس latin1.
عند الاتصال عبر .net ، يستخدم الموصل (الافتراضي) latin1 ، لذلك تحتاج أحيانًا إلى تحديد تشفير utf8 بشكل صريح في سلسلة الاتصال:
MySqlConnection mycon ؛ mycon = MySqlConnection جديد ("الخادم = 127.0.0.1 ؛ uid = vasya ؛ pwd = 123 ؛ قاعدة البيانات = اختبار ؛ Charset = utf8 ؛") ؛ // MySqlConnectionStringBuilder: mysqlCSB.CharacterSet = "utf8" ؛
PSH
01.10.2016 الساعة 11:34
أنت على حق ، وصفت نفسك ، utf8_general_ci!
نعم لقد ساعدت ؛ Charset = utf8؛
شكرا جزيلا!
سيرجي
10/02/2016 الساعة 11:02
شكرا على مثال العمل المطلوب. سؤال
لقد أنشأت حقلاً نصيًا أود إدخال عنوان IP الخاص بقاعدة البيانات فيه ، لكنني لا أعرف كيفية استبدال هذه البيانات هنا
سلسلة conStr = " [بريد إلكتروني محمي]؛ المستخدم = اختبار ؛ "+
"قاعدة البيانات = اختبار ؛ كلمة المرور = اختبار ؛" ؛
من فضلك قل لي كيفية إدراج البيانات من الحقول النصية في نموذج windows في هذا البناء….
مشرف
10/03/2016 الساعة 11:50
"[بريد إلكتروني محمي]؛ المستخدم = ...
بشكل عام ، من الأفضل استخدام الخصائص ، كما في هذه المقالة ، أو طريقة String.Format () بدلاً من هذه السلسلة.
OLGA2203
05/15/2017 الساعة 20:14
سلسلة الاتصال = "الخادم = 127.0.0.1 ؛ المنفذ = 3306 ؛ قاعدة البيانات = قاعدة ؛ مصدر البيانات = المضيف المحلي ؛ المستخدم = الجذر ؛" ؛ MySqlConnection con = new MySqlConnection (Connect) ؛ con.Open () ؛ // تأسيس اتصال بقاعدة البيانات. MySqlCommand cmd = جديد MySqlCommand () ؛ cmd.CommandText = @ ”INSERT INTO tovar (المعرف ، الفئة ، الاسم ، العلامة التجارية ، السعر ، الصورة ، الحجم ، اللون ، المادة ، العدد) VALUES (pr،Category،Name،TradeMark،Price،Photo، @ الحجم ، @ اللون ، @ المواد ، @ العد) "؛ cmd.Parameters.AddWithValue (“@ pr” ، عداد) ؛ cmd.Parameters.AddWithValue (“@ Category”، comboBox1.SelectedItem.ToString ())؛ cmd.Parameters.AddWithValue (“@ Name”، textBox1.Text) ؛ cmd.Parameters.AddWithValue (“@ TradeMark” ، textBox2.Text) ؛ cmd.Parameters.AddWithValue (“@ Price”، Convert.ToInt32 (textBox4.Text)) ؛ cmd.Parameters.AddWithValue (“@ Photo”، textBox3.Text)؛ cmd.Parameters.AddWithValue (“@ Size”، textBox6.Text)؛ cmd.Parameters.AddWithValue (“@ Color”، textBox5.Text) ؛ cmd.Parameters.AddWithValue (“@ Material”، textBox8.Text) ؛ cmd.Parameters.AddWithValue (“@ Count”، Convert.ToInt32 (textBox7.Text)) ؛ cmd.Connection = يخدع ؛ cmd.ExecuteNonQuery () ، MessageBox.Show ("كانت الإضافة ناجحة" ، "تمت الإضافة بنجاح" ، MessageBoxButtons.OK ، MessageBoxIcon.Asterisk) ؛
تم إصدار الخطأ "لا يمكن أن يكون العمود" ID "فارغًا" ، وأزيل الإضافة إلى عمود المعرف - أكتب نفس الشيء عن العمود التالي ، وهكذا.
إذا أدخلت أي قيم ثابتة بين قوسين في VALUES ، فسيتم إضافة السطر إلى القاعدة.
هل يمكنك أن تخبرني ما هي المشكلة؟ أحتاج أن أكتب إلى قاعدة البيانات بالضبط البيانات والقيم التي تم إدخالها من خلال النموذج
آخر تحديث: 1.11.2015
يستخدم التعبير "INSERT" لإضافة البيانات:
$ query = "INSERT INTO tovars VALUES (NULL،" سامسونج جالاكسي III "،" Samsumg ")" ؛
يُدرج تعبير INSERT صفًا واحدًا في الجدول. بعد كلمة رئيسية INTO هو اسم الجدول ، وبعد القيم ، يشار إلى مجموعة القيم لجميع الأعمدة بين قوسين. نظرًا لأن لدينا ثلاثة أعمدة في الجدول ، فإننا نشير إلى ثلاث قيم.
نظرًا لأنه في الموضوع السابق ، عند إنشاء الجدول ، حددنا ترتيب الأعمدة التالي: id ، name ، company ، في هذه الحالة يتم تمرير قيمة NULL لعمود id ، و "Samsung Galaxy III" للاسم ، و "Samsumg " لاجل الشركه.
نظرًا لتعريف عمود المعرف على أنه AUTO_INCREMENT ، لا نحتاج إلى تحديد قيمة رقمية محددة له ، ويمكننا تمرير قيمة NULL وستقوم MySQL بتعيين القيمة المتاحة التالية للعمود.
الآن دعونا نلقي نظرة على إضافة البيانات بمثال. لنقم بإنشاء ملف create.phpبالمحتوى التالي:
تمت إضافة البيانات"؛) // أغلق الاتصال mysqli_close ($ link) ؛)؟>
إضافة نموذج جديد
هنا ، يتم دمج رمز التفاعل مع قاعدة البيانات مع وظائف النماذج: باستخدام النموذج ، نقوم بإدخال البيانات لإضافتها إلى قاعدة البيانات.
الأمن و MySQL
هنا استخدمنا وظيفة mysqli_real_escape_string (). إنه يعمل على هروب الأحرف في سلسلة ، والتي يتم استخدامها بعد ذلك في استعلام SQL... يستغرق كائن اتصال وسلسلة ليتم تخطيها كمعلمات.
وبالتالي ، فإننا في الواقع نطبق حرف الهروب مرتين: أولاً للتعبير sql باستخدام الدالة mysqli_real_escape_string () ، ثم بالنسبة لـ html باستخدام دالة htmlentities (). سيسمح لنا ذلك بحماية أنفسنا من نوعين من الهجمات في وقت واحد: هجمات XSS وحقن SQL.
في هذه المقالة ، سوف نحلل ربما بعضًا من أهمها استفسارات SQL... هذه استعلامات لإضافة وإزالة السجلات من جدول قاعدة البيانات... منذ ذلك الحين ، غالبًا ما يكون ذلك ضروريًا إضافة سجلات جديدة إلى الجدول، ونفعل ذلك في الوضع التلقائي، فهذه المادة مطلوبة للدراسة.
للبدأ استعلام إلحاق SQL دخول جديدعلى الطاولة:
أدخل إلى المستخدمين (تسجيل الدخول ، اجتياز) قيم ("TestUser"، "123456")
عند إضافة إدخال ، يكون الأمر الأول هو " ادخل في"، ثم اسم الجدول الذي ندرج فيه السجل. وبعد ذلك تأتي أسماء الحقول التي نريد ملؤها بين قوسين. ثم بين قوسين بعد الكلمة" القيم"نبدأ في سرد قيم تلك الحقول التي حددناها. بعد تنفيذ هذا الاستعلام ، سيظهر سجل جديد في جدولنا.
في بعض الأحيان يستغرق الأمر تحديث سجل في جدول، لهذا هناك ما يلي استعلام SQL:
تحديث المستخدمين SET login = "TestUser2" ، تمرير = "1234560" حيث تسجيل الدخول = "TestUser"
هذا الاستعلام أكثر تعقيدًا ، لأنه يحتوي على البنية " أين"، ولكن أقل قليلاً. يأتي الأمر أولاً" تحديث"متبوعًا باسم الجدول متبوعًا بـ" تعيين"نصف قيم جميع الحقول التي نريد تغييرها. سيكون الأمر بسيطًا ، لكن السؤال الذي يطرح نفسه:" ما هو السجل الذي يجب تحديثه؟". لهذا هناك" أين". في هذه الحالة ، نقوم بتحديث السجل ، الحقل" تسجيل الدخول"ما يهم" TestUser". يرجى ملاحظة أنه إذا كان هناك العديد من هذه السجلات ، إذن بالتأكيد سيتم تحديث كل شيء! هذا مهم جدًا لفهمه ، وإلا فإنك تخاطر بفقدان طاولتك.
لنتحدث قليلا عن " أين". بالإضافة إلى الاختبارات البسيطة للمساواة ، هناك أيضًا تفاوتات وعمليات منطقية: وو أو.
تحديث المستخدمين SET login = "TestUser2" ، تمرير = "1234560" WHERE id< 15 AND login="TestUser"
ال استعلام SQLسيتم تحديث هذه السجلات بطاقة تعريفوهي أقل 15 وحقل " تسجيل الدخول"لها معنى" TestUser". أتمنى أن تكون قد توصلت إلى التصميم." أين"لأنها مهمة للغاية. بالضبط." أين"تستخدم عندما إحضار السجلات من الجداول، وهذه هي المهمة الأكثر استخدامًا عند العمل مع قواعد البيانات.
وأخيرا ، واحدة بسيطة استعلام SQL لحذف السجلات من جدول:
حذف من المستخدمين حيث تسجيل الدخول = "TestUser2"
بعد الأمر " حذف من"هناك اسم الجدول الذي تريد حذف السجلات فيه. بعد ذلك ، نصف بناء" WHERE ". أين"، يمكن حذف أي عدد منها.
سوف يعتمد الدرس على شكل تعليق مطلوب على أي موقع تقريبًا.======================================== ?>
الخطوةالاولى: إنشاء قاعدة البيانات بتنسيق MySQL
نفتح phpMyAdmin(مدرج في الحزمة الأساسية دنوير`أ) ، وأنشئ قاعدة بالاسم" test_base"، حدد الترميز" cp1251_general_ci".
======================================== ?>
الخطوة الثانية: إنشاء جدول بتنسيق MySQLعبر استفسارات SQL
يمكنك بالطبع إنشاء جدول باستخدام الأدوات القياسية phpMyAdmin، لكن سيكون هيكل الجدول الذي تم إنشاؤه مرئيًا بوضوح.
إنشاء جدول باسم " test_table"وستة حقول بأسماء:
"الاسم" - سيتم تخزين أسماء المستخدمين هنا ؛
"البريد الإلكتروني" - سيتم تخزين العناوين هنا الصناديق الإلكترونيةالمستخدمين ؛
"موضوع" - سيتم تخزين موضوع الرسالة هنا ؛
"رسالة" - سيتم تخزين الرسائل هنا ؛
"البيانات" - سيتم تخزين تاريخ إرسال الرسالة هنا ؛
"id" - رقم تعريف السجل (السطر) ، حقل المفتاح.استعلام SQL:
إنشاء جدول test_table (
معرف int (11) ليس فارغًا auto_increment ،
اسم varchar (255) ليس فارغًا ،
البريد الإلكتروني varchar (255) ليس فارغًا ،
موضوع varchar (255) ليس فارغًا ،
نص الرسالة ليس فارغًا ،
تاريخ البيانات ليس فارغًا ،
المفتاح الأساسي (المعرف)
);======================================== ?>
الخطوة الثالثة: إنشاء النموذج
index.html:
نموذج حفظ MySQL
مثال على نموذج مع حفظ البيانات في MySQL