私は php の専門家ではありません。mysql db を照会する小さなサービスを開発しました。
しかし、私は php 5.4 で開発し、Web ホスティング プランに 5.2.6 があることを発見したため、未定義の関数で問題が発生することはほとんどありません。
具体的には、この場合、 > 5.3 で利用可能な mysqli_stmt_get_result 未定義関数をどのように解決できますか? コードは次のとおりです。
$stmt = mysqli_prepare($con,$db_query);
if($stmt) {
mysqli_stmt_bind_param($stmt,'ss',$after,$lang);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt); // <-- getting undefined error here !!!
$updated = array();
$deleted = array();
while($row = mysqli_fetch_assoc($result)) {
if($row['status']==1) {
array_push($updated,$row);
} else {
$cardName=$row['cardName'];
$cardStatus=$row['status'];
$cardId=$row['cardId'];
$language=$row['language'];
array_push($deleted,array(
'cardName'=>$cardName,
'status'=>$cardStatus,
'cardId'=>$cardId,
'language'=>$language
)
);
}
}
$response = array(
'cards'=>array(
'updated'=>$updated,
'deleted'=>$deleted
)
);
$json = json_encode($response);
mysqli_close($con);
echo $json;
}
ポイントは、準備済みステートメントを使用しているということです.phpの知識が不足しているため、スクリプト全体を書き直さない限り、問題を解決する他の方法が見つかりませんでした.
シンプルで簡単な解決策をお持ちの方もいらっしゃると思います。