Penyata Disediakan MySQL: Gambaran Keseluruhan Komprehensif
Penyata yang disediakan MySQL menawarkan keselamatan dan kecekapan yang dipertingkatkan untuk interaksi pangkalan data. Walau bagaimanapun, bermula dengan mereka boleh mencabar.
Ralat: Menggunakan Penyata Tidak Terikat
Dalam kod yang disediakan, ralat berpunca daripada percubaan untuk melaksanakan pernyataan yang disediakan "$ stmt" tanpa mengikat parameter kepadanya. Kaedah "mysqli_stmt_prepare()" MySQLi mengembalikan objek yang mewakili pernyataan yang disediakan, tetapi mengikat ruang letak dengan "mysqli_stmt_bind_param()" ialah langkah penting sebelum melaksanakannya.
Sintaks untuk Penyata Disediakan Mengikat:
$stmt->bind_param('data_type', $variable);
Dalam contoh ini, jenis data ialah 's' (rentetan) dan 'i' (integer), diikuti dengan pembolehubah PHP yang mengandungi nilai yang akan dimasukkan.
$name = 'one'; $age = 1; $stmt->bind_param('si', $name, $age);
Setelah parameter terikat, pelaksanaan boleh teruskan:
$stmt->execute();
Contoh Lengkap
Berikut ialah contoh komprehensif yang meliputi sambungan, sisipan dan pemilihan dengan pengendalian ralat menggunakan pernyataan yang disediakan:
connect_error) { die('Failed to connect: ' . $mysqli->connect_error); } // Insertion $stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?, ?)"); $stmt->bind_param('si', $name, $age); $name = 'Bob'; $age = 30; $stmt->execute(); // Selection $stmt = $mysqli->prepare("SELECT * FROM users WHERE name = ?"); $stmt->bind_param('s', $name); $name = 'Bob'; $stmt->execute(); $result = $stmt->get_result(); // Fetch and display results while ($row = $result->fetch_assoc()) { printf("%s (%s)\n", $row['name'], $row['age']); } // Closing $stmt->close(); $mysqli->close(); ?>
Dengan mengikuti garis panduan ini, anda boleh menggunakan kenyataan yang disediakan dalam PHP dengan MySQLi dengan berkesan, meningkatkan keselamatan dan interaksi pangkalan data kecekapan.
Atas ialah kandungan terperinci Bagaimana Menggunakan Penyata Disediakan MySQLi dengan Berkesan untuk Meningkatkan Keselamatan dan Kecekapan Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!