سلام به شما دوستان عزیز ، همراهان گرامی ، حالتون خوبه ؟ امروز شاد هستید؟ سرحال هستید؟ امیدوارم که این چنین باشید و با اموزش امروز ما که در مورد دستورهای اماده در php  است همراه باشید.

دستورهای آماده(Prepared Statements)

اگر با ویژوال استودیو کار کرده باشید، احتمالا از دستورات آماده استفاده کرده اید. PHP Extension برای MySQL و SQLite این قابلیت را ندارد. در مثال زیر مفهوم دستورات آماده را خواهید فهمید.

// configuration‎
‎ ‎    ‎$dbtype     = “sqlite”;‎
‎$dbhost     = “localhost”;‎
‎ ‎    ‎$dbname     = “test”;‎
‎$dbuser     = “root”;‎
‎ ‎    ‎$dbpass     = “admin”;‎
// database connection‎
‎$conn = new PDO(“mysql:host=$dbhost;dbname=$dbname”,$dbuser,$dbpass);‎
‎$title = ‘PHP AJAX’;‎
// query‎
‎$sql = “SELECT * FROM books WHERE title = ?”;‎
‎$q = $conn->prepare($sql);‎
‎$q->execute(array($title));‎
‎$q->setFetchMode(PDO::FETCH_BOTH);‎
// fetch‎
while($r = $q->fetch()){‎
‎  print_r($r);‎
‎}‎
‎?>‎

در این مثال، پرس و جو به یک متغیر (که با علامت ? مشخص کرده ایم) بستگی دارد.

‏ ‏ ‎‎$sql = “SELECT * FROM books WHERE title = ?”;‎

حالا، این پرس و جو را دستکاری می کنیم تا یک دستور آماده ساخته و اجرا کنیم.

‎$q = $conn->prepare($sql);‎
‎$q->execute(array($title))‎

مثال

‎$title = ‘PHP%’;‎
‎$author = ‘Bobi%’;‎
// query‎
‎$sql = “SELECT * FROM books WHERE title like ? AND author like ? “;‎
‎$q = $conn->prepare($sql);‎
‎$q->execute(array($title,$author));‎