mysqli에서 준비된 명령문을 사용할 때 올바른 기능을 보장하려면 특정 지침을 준수하는 것이 중요합니다.
제공된 코드에서 오류:
Fatal error: Call to a member function execute() on a non-object in ...
실행 전에 준비된 문이 변수에 올바르게 바인딩되지 않았음을 제안합니다. 이 문제를 해결하려면:
// Bind parameters to variables $name = 'one'; $age = 1; $stmt->bind_param('si', $name, $age);
Mysqli는 PHP에서 준비된 문을 사용하는 데 적합한 선택입니다. 확립되고 잘 문서화되어 있는 데이터베이스 인터페이스입니다.
<?php // Establish database connection $mysqli = new mysqli('localhost', 'root', 'root', 'test'); // Prepare statement $stmt = $mysqli->prepare('INSERT INTO users (name, age) VALUES (?, ?)'); // Bind variables $name = 'one'; $age = 2; $stmt->bind_param('si', $name, $age); // Insert data with prepared statement $stmt->execute(); // Check for errors if ($mysqli->error) { echo 'Error: ' . $mysqli->error; } else { // Data inserted successfully } // Prepare select statement $stmt = $mysqli->prepare('SELECT * FROM users WHERE name = ?'); // Bind variable $name = 'one'; $stmt->bind_param('s', $name); // Execute select query $stmt->execute(); // Fetch results $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { echo $row['id'] . ' - ' . $row['name'] . ' - ' . $row['age'] . '<br>'; } // Close statement and connection $stmt->close(); $mysqli->close(); ?>
이 포괄적인 예는 연결 설정부터 준비된 문을 사용하여 데이터 삽입 및 선택까지의 전체 프로세스를 보여줍니다. 오류 처리를 포함합니다.
위 내용은 내 MySQLi 준비 명령문이 '비객체에서 멤버 함수 실행() 호출' 오류를 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!