هل هناك طريقة لمعرفة استعداد الاستعلام كما سيتم تنفيذها على قاعدة البيانات ؟ [مكررة]

StackOverflow https://stackoverflow.com/questions/305179

  •  08-07-2019
  •  | 
  •  

سؤال

ممكن مكررة:
شركة تنمية نفط عمان إعداد البيانات

أنا باستخدام mysqli التمديد في PHP و أنا أتساءل هل هناك ربما أي طريقة لرؤية إعداد الاستعلام كما سيتم تنفيذه على الخادم ، على سبيل المثالالاستعلام هو شيء من هذا القبيل

select * from table1 where id = ? and name = ?

ولكن أريد أن أرى الاستعلام بعد القيم تمتلئ في مثل هذا:

select * from table1 where id = 20 and name = "John"
هل كانت مفيدة؟

المحلول

مكررة شركة تنمية نفط عمان إعداد البيانات

الجواب القصير:لا.إعداد الاستعلام لن يتم تحويلها إلى الاستعلام كنت تتوقع.إنه أعدم بشكل مباشر من قبل خادم قاعدة البيانات.يمكنك استخدام الخلية سجل الاستعلام أو شركة تنمية نفط عمان وظيفة موثقة debugDumpParams, لكن كلاهما فقط تقريبية.

نصائح أخرى

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

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

في الطريق أكثر من مرة وأنا التصحيح الخلية كيريس:

$q = "select * from table1 where id = ".$الهوية" و name = ".$اسم ؛ echo $q;

الإخراج يولد جميع المتغيرات المخصصة الاستعلام.

أتمنى أن يفهم بالضبط ما أردت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top