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