研究,通過Google尋找stackoverflow,我發現有幾個人有同樣的問題,並且解決方案通常是「僅適用於mysqlnd」。PHP mysqli_stmt :: get_result()未定義方法
因此,我環顧四周,戳了一些代碼,但據我所知,在我的服務器上啓用了mysqlnd IS。所以這就是我爲什麼不是認爲這是一個重複。
$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
同樣,我的代碼工作我的本地服務器上的罰款。下面是我的一些phpinfo()
快照...
和公正的好辦法,我的PHP版本是5.4.22
。最後,在系統控制檯中運行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服務器上工作。
我認爲get_result()不起作用,如果你沒有libmysqlnd isntalled。 – raser
'var_dump($ stmt)'告訴你什麼? – tlenss
您需要發佈更多的代碼,而不僅僅是錯誤指示的行。我們需要看看'$ stmt'是如何初始化的。 – Sammitch