⊗ppSpPDPP 60 of 83 menu

PDO তে অবস্থানগত প্লেসহোল্ডারগুলি PHP তে

আসুন বুঝে নেওয়া যাক কিভাবে অবস্থানগত প্লেসহোল্ডারগুলির সাথে কাজ করতে হয়। ধরা যাক আমাদের দুটি ভেরিয়েবল আছে, যেগুলো আমরা ক্যোয়ারীতে ঢোকাতে চাই:

<?php $min = 1; $max = 5; ?>

ধরা যাক আমরা আমাদের ভেরিয়েবলগুলি নিম্নলিখিতভাবে ঢোকাতে চাই:

<?php $sql = "SELECT * FROM users WHERE id>$min and id<$max"; ?>

যাইহোক, এভাবে করা নিরাপদ নয়। সুতরাং সরাসরি ভেরিয়েবল ঢোকানোর পরিবর্তে, সেগুলোকে অবস্থানগত প্লেসহোল্ডার দিয়ে প্রতিস্থাপন করি, যেগুলো প্রশ্নবোধক চিহ্ন দ্বারা প্রতিনিধিত্ব করা হয়:

<?php $sql = 'SELECT * FROM users WHERE id>? and id<?'; ?>

এখন সেই কমান্ডটি এক্সিকিউট করি যা ক্যোয়ারীটিকে প্রস্তুত করবে:

<?php $res = $pdo->prepare($sql); ?>

এখন ক্যোয়ারীটি এক্সিকিউট করি, এটিকে প্যারামিটার হিসেবে আমাদের ভেরিয়েবল ধারণকারী একটি অ্যারে পাস করে। এ ক্ষেত্রে ভেরিয়েবলগুলি ক্যোয়ারীতে সেই অনুক্রমে ঢোকানো হবে, যেভাবে সেগুলো অ্যারেতে উল্লেখ করা হয়েছে:

<?php $res->execute([$min, $max]); ?>

এর পরে আমরা ক্যোয়ারীর ফলাফল পেতে পারি:

<?php while ($row = $res->fetch()) { var_dump($row); } ?>

সবকিছু একত্রিত করি এবং নিম্নলিখিত কোড পাই:

<?php $min = 1; $max = 5; $sql = 'SELECT * FROM users WHERE id>? and id<?'; $res = $pdo->prepare($sql); $res->execute([$min, $max]); while ($row = $res->fetch()) { var_dump($row); } ?>

ভেরিয়েবলগুলি দেওয়া আছে:

<?php $age = 30; $salary = 1000; ?>

সমস্ত ব্যবহারকারী খুঁজে বের করুন, যাদের বয়স বা বেতন ভেরিয়েবলে প্রদত্ত মানগুলির সমান।

আপনার কোডে একটি SQL-ইনজেকশন চালানোর চেষ্টা করুন। নিশ্চিত হন যে এটি কাজ করবে না।

বাংলা
AfrikaansAzərbaycanБългарскиБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন