1
我正在一個涉及Php-Mysql的項目中工作。我有以下存儲過程在MySQL: `Php - Mysql存儲過程不返回數據
CREATE PROCEDURE alumnos_get_alumno(IN ci INT UNSIGNED)
READS SQL DATA
BEGIN
SELECT idalumnos, CONVERT(primer_nombre USING utf8) AS primer_nombre,
CONVERT(segundo_nombre USING utf8) AS segundo_nombre,
CONVERT(tercer_nombre USING utf8) AS tercer_nombre,
CONVERT(primer_apellido USING utf8) AS primer_apellido,
CONVERT(segundo_apellido USING utf8) AS segundo_apellido,
fecha_nac, estado_actual
FROM alumnos WHERE idalumnos = ci;
END`
,我把它從下面的PHP腳本:現在
$config= parse_ini_file("../config/cole.ini");
$connect= mysqli_connect("localhost", $config['username'], $config['password'], $config['dbname']) or die("NO DB Connection");
$getparams = filter_input_array(INPUT_GET);
$query = "CALL alumnos_get_alumno(".$getparams['c'].")";
$result = mysqli_query($connect, $query);
$cuantos = mysqli_num_rows($result);
if ($cuantos != 0){
while ($row = mysqli_fetch_assoc($result)){
$output = json_encode($row);
}
} else {
$output = 0;
}
echo $output;
,問題是執行PHP腳本的時候,我得到一個空的迴應。
我試着調試Firebug的腳本執行,居然看到該程序不會返回數據(與print_r()
嘗試和回來的數據數組),但是當我嘗試存儲使用json_encode()
在$output
可變數據說可以這麼說,它「消失」了。
我有幾個其他程序是完全相同的東西,只是改變表名,而那些工作沒有任何問題。
編輯:我也檢查了日誌/var/log/apache2/err.log
,看看是否有任何錯誤報告的服務器,但沒有出現類似的。
我在這裏錯過了什麼?
謝謝您的回答,我想你的建議,但得到一個空數組作爲響應。 'print_r($ row)'的結果是:Array([idalumnos] => 1 [primer_nombre] => JOHNNY [segundo_nombre] => B [tercer_nombre] => [primer_apellido] => GOODE [segundo_apellido] => DUDE [ fecha_nac] => 1999-10-07 [estado_actual] => A) –
Ahh我不好使用'$ output [] = $ row;'while while while循環!檢查更新的答案! – Saty
你有沒有檢查更新的答案??? – Saty