Memahami Penyata Disediakan Mysqli
Menyediakan penyataan ialah amalan penting untuk mencegah kelemahan suntikan SQL. Walau bagaimanapun, ralat biasa yang dihadapi semasa menggunakan pernyataan yang disediakan mysqli menerima ralat "Panggil ke fungsi ahli laksanakan() pada bukan objek."
Untuk menyelesaikan isu ini dan menggunakan pernyataan yang disediakan mysqli dengan berkesan, anda' Anda perlu memahami perkara berikut:
Berikut ialah contoh untuk menggambarkan proses lengkap:
<?php // Connect to MySQL $mysqli = new mysqli("localhost", "root", "root", "test"); // Prepare statement $stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?, ?)"); // Bind parameters $name = 'one'; $age = 1; $stmt->bind_param('si', $name, $age); // Execute statement $stmt->execute(); // Insert another row with different values $name = 'two'; $age = 2; $stmt->bind_param('si', $name, $age); $stmt->execute(); ?>
Menggunakan mysqli untuk pernyataan yang disediakan sangat disyorkan kerana ia adalah cara yang disyorkan untuk melindungi daripada suntikan SQL dalam PHP. Contoh di atas merangkumi bukan sahaja sambungan, sisipan dan pemilihan, tetapi juga menyediakan pengendalian ralat.
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Panggil ke fungsi ahli execute() pada bukan objek' dengan Penyata Disediakan mysqli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!