اذهب إلى المحتوى

السؤال

نشر (معدل)

على  تطبيق خاص بتسجيل بعض المعلومات حول حواسيب معينة، استعملت مكتبة PDOلتخزين البيانات على قاعدة بيانات Mysql:

$con->prepare("INSERT INTO `myComputers` (`hwid`, `ip`, `pcname`, `username`, `os`, `country`, `first`) VALUES (:hwid, :ip, :pcname, :username, :os, :country, :first")->execute(
      array(
        ':hwid'        => $data_array['hwid'],
        ':ip'          => $data_array['ip'],
        ':pcname'      => $data_array['pcname'],
        ':username'    => $data_array['username'],
        ':os'          => $data_array['os'],
        ':country'     => $data_array['country'],
        ':first'       => $data_array['first']
      )
    );

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

CREATE TABLE IF NOT EXISTS myComputers(
    hwid VARCHAR(64) NOT NULL PRIMARY KEY,
    ip VARCHAR(45) NOT NULL,
    pcname VARCHAR(50) NOT NULL,
    username VARCHAR(50) NOT NULL,
    os VARCHAR(150) NOT NULL,
    country CHAR(2) NOT NULL,
    first int(11) NOT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

blahblah
123.12.123.123
PotatoPC
MyPotato
Windows
AU
1447671823

أين هو الخطأ، رغم أني حاولت مرات ومرات لكن لم أجد مكان الخطأ؟

تم التعديل في بواسطة Simoh

Recommended Posts

  • 0
نشر

في الكود المتعلق بجملة الاستعلام Insert قمتَ بفتح قوس ونسيت إغلاقه عند نهاية الجملة أي عند الجزئية "(first: وهذا ما سيُحدث خطأ في الكود، باعتبار أن جملة الاستعلام خاطئة وغير كاملة من حيث طريقة الكتابة، ليكون الكود الصحيح هو :

$con->prepare("INSERT INTO `myComputers` (`hwid`, `ip`, `pcname`, `username`, `os`, `country`, `first`) VALUES (:hwid, :ip, :pcname, :username, :os, :country, :first)")->execute(
 array(
        ':hwid'        => $data_array['hwid'],
        ':ip'          => $data_array['ip'],
        ':pcname'      => $data_array['pcname'],
        ':username'    => $data_array['username'],
        ':os'          => $data_array['os'],
        ':country'     => $data_array['country'],
        ':first'       => $data_array['first']
      )
    );

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...