연구를 통해, stackoverflow를보고, Google을 통해 살펴본 결과, 같은 문제가있는 여러 사람들을 발견했으며 솔루션은 일반적으로 "mysqlnd에서만 사용 가능"입니다.PHP mysqli_stmt :: get_result() 정의되지 않은 메소드
그래서 일부 코드를 둘러 보았습니다.하지만 말할 수있는 한, mysqlnd는 내 서버에서 사용할 수 있습니다. 그래서 내가하는 이유는 이 아니고은 중복이라고 생각합니다.
$id = $stmt->get_result();
어떤 이유 코드의 라인은, 내 로컬 XAMPP 서버에서 완벽하게 작동 내 응용 프로그램에서 딸꾹질의 원인이 될 것으로 보인다. 내 공개 서버 구성에 문제가 있다고 생각하지만 무엇을 알아 내지 못합니다.
PHP는이 오류를 던지고있다 : 다시, 내 코드 내 로컬 서버에서 잘 작동
[18-Mar-2014 15:39:27 America/Denver] PHP Fatal error:
Call to undefined method mysqli_stmt::get_result() in
/home/PATH/PAGE.php on line 47
. 여기
그냥 좋은 측정을위한 , 내 PHP 버전이
5.4.22
입니다 ... 내
phpinfo()
의 일부 스냅 샷입니다. 그리고 마지막으로
php -i | grep mysqlnd
을 시스템 콘솔에서 실행하면
mysqlnd => enabled
이됩니다.
그래서 ... 무슨 일이야? 내가 뭘 놓치고 있니? 당신의 배려에 감사합니다. 나는 이것이 다른 사람들을 도울 수 있기를 바랍니다. 더 많은 코드 (요청한대로) ...
$mysqli = new mysqli('localhost', 'usr', 'pass', 'table');
$chkid = "SELECT * FROM `students` WHERE student_id = ? LIMIT 1";
if ($mysqli->connect_error) { //We'll catch an error or two here.
die("{CNCT}");
}
$arrays = json_decode($_POST['data'], true); //Here, we take the JSON string and create PHP arrays
for ($x=0; $x<=((count($arrays))-1); $x++) { //We count the array
$stmt = $mysqli->prepare($chkid);
$inputz = ($arrays[$x]['id']);
$stmt->bind_param("s", $inputz);
$stmt->execute();
$id = $stmt->get_result(); //THIS LINE
$stmt->close();
$row = $id->fetch_array(MYSQLI_NUM);
}
내가 코드를 망치지 않고 필요한 모든 것을 적절하게 잘라내 었으면 좋겠다. 그것은 내 로컬 XAMPP 서버에서 작동합니다.
libmysqlnd isntalled가없는 경우 get_result()가 작동하지 않는다고 생각합니다. – raser
'var_dump ($ stmt)'는 무엇을 말합니까? – tlenss
단순히 오류가 나타내는 줄 이상의 코드를 게시해야합니다. 우리는'$ stmt'가 어떻게 초기화되었는지를 볼 필요가 있습니다. – Sammitch