PDOStatement::execute — mengeksekusi pernyataan yang telah disiapkan (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
bool PDOStatement::execute ([ array $input_parameters ] )
Jalankan pernyataan yang sudah disiapkan. Jika pernyataan yang disiapkan berisi penanda parameter, Anda harus memilih salah satu opsi berikut:
Panggil PDOStatement::bindParam() untuk mengikat variabel PHP ke penanda parameter: jika ada, teruskan nilai masukan dan dapatkan nilai keluaran dengan mengaitkan variabel yang terikat ke penanda parameter
atau meneruskan array sebagai nilai parameter input saja
masukan_parameter
Array dengan elemen sebanyak parameter yang terikat pada pernyataan SQL yang akan dieksekusi. Semua nilai diperlakukan sebagai PDO::PARAM_STR.
Anda tidak dapat mengikat beberapa nilai ke satu parameter; misalnya, Anda tidak dapat mengikat dua nilai ke satu parameter bernama dalam klausa IN().
Nilai terikat tidak boleh melebihi angka yang ditentukan. Jika ada lebih banyak nama kunci dalam input_parameters daripada yang ditentukan oleh SQL yang disiapkan PDO::prepare(), pernyataan ini akan gagal dengan kesalahan.
Mengembalikan TRUE jika berhasil, atau FALSE jika gagal.
<?php/* Jalankan pernyataan yang telah disiapkan dengan mengikat variabel PHP*/$kalori = 150;$warna = 'merah';$sth = $dbh->prepare('PILIH nama, warna, kalori FROM buah WHERE kalori < :kalori DAN warna = :warna');$sth->bindParam(':kalori', $kalori, PDO::PARAM_INT);$sth->bindParam(':warna', $warna, PDO::PARAM_STR, 12);$sth->execute();?>
<?php/* Jalankan pernyataan yang sudah disiapkan dengan meneruskan array yang berisi nilai yang dimasukkan*/$kalori = 150;$warna = 'merah';$sth = $dbh->prepare('PILIH nama, warna, kalori DARI buah DI MANA kalori < :kalori DAN warna = :warna');$sth->execute(array(':kalori' => $kalori, ':warna' => $warna));?>
<?php/* Jalankan pernyataan yang sudah disiapkan dengan meneruskan array nilai yang disisipkan*/$kalori = 150;$warna = 'merah';$sth = $dbh->prepare('PILIH nama, warna, kalori FROM buah WHERE kalori < ? DAN warna = ?');$sth->eksekusi(array($kalori, $warna));?>
<?php/* Jalankan pernyataan yang telah disiapkan dengan mengikat variabel PHP*/$kalori = 150;$warna = 'merah';$sth = $dbh->prepare('PILIH nama, warna, kalori DARI buah DI MANA kalori < ? DAN warna = ?');$sth->bindParam(1, $kalori, PDO::PARAM_INT);$sth->bindParam(2, $warna, PDO::PARAM_STR, 12);$sth->eksekusi();?>
<?php/* Jalankan pernyataan yang sudah disiapkan berisi klausa IN menggunakan nilai array */$params = array(1, 21, 63, 171);/* Buat placeholder yang diisi dengan jumlah params yang sama String */$place_holders = meledak(',', array_fill(0, count($params), '?'));/* untuk $params Untuk setiap nilai dalam array, pernyataan yang akan disiapkan berisi cukup banyak placeholder yang tidak disebutkan namanya. Ketika pernyataan dijalankan, nilai-nilai dalam array $params terikat ke placeholder dalam pernyataan yang disiapkan. Ini berbeda dengan menggunakan PDOStatement::bindParam() karena memerlukan variabel referensi. PDOStatement::execute() hanya bertindak sebagai alternatif untuk mengikat berdasarkan nilai. */$sth = $dbh->prepare("PILIH id, nama DARI kontak WHERE id IN ($place_holders)");$sth->execute($params);?>