私はのストアドプロシージャの結果をphp
の配列に取得しようとしています。私が持っているコード:は、spから配列に結果を得ることができません
function get_all_uzovi($dbc) {
//$query = "SELECT diagnose_id, diagnose_code, specialisme_agb_code_fk
// FROM tbl_diagnoses
// WHERE specialisme_agb_code_fk = '$var_chosen_specialism'
// ORDER BY diagnose_code ASC";
$result = mysqli_query($dbc,"CALL spGetUzovi");
//WHAT DOES NOT WORK:
//$data = array();
//while ($row = $result->fetch_assoc()) {
// $data[] = $row;
//}
//return json_encode($data);
//WHAT DOES WORK:
while ($row = mysqli_fetch_array($result)){
echo $row[0] . " - " . + $row[1];
}
}
コード「// WHAT動かない」の下には何が必要です:json
フォーマットとして結果。何らかの理由でそれは私に何も与えません。
"//何がうまくいくのですか"というコードはうまくいきますが、これは私が望むものではありません。
SPのコード:
CREATE DEFINER=`ziekenh3`@`localhost` PROCEDURE `spGetUzovi`()
NO SQL
SELECT *
FROM tbl_uzovi
代わりにSPの(仕事をする)クエリで作業するとき私が使用するコード:
function get_diagnoses($dbc,$var_chosen_specialism) {
$query = "SELECT diagnose_id, diagnose_code, specialisme_agb_code_fk
FROM tbl_diagnoses
WHERE specialisme_agb_code_fk = '$var_chosen_specialism'
ORDER BY diagnose_code ASC";
$result = mysqli_query($dbc,$query);
$data = array();
//while ($row = $result->fetch_assoc()) {
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row;
}
return json_encode($data);
}
任意の考え?
保存されproceedureを見ることが有用であろう – RiggsFolly
なぜあなたはmysqliのの手続きやオブジェクトの呼び出しを混在んスティック!?一方の方法でそれが動作します。 – DanFromGermany
私はそのストアドプロシージャの感じを持っています。私が私はPHPで書くクエリで動作しないコードを使用し、それが動作します。私はspを 'phpMyAdmin'で作った。 spはnog INまたはOUTパラメータを持ち、SQL文は 'SELECT * FROM tbl_uzovi'です。 – CostCare