我有以下代码:
$sql = "CALL bd.spPrueba()";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row[] = $result->fetch_assoc()) {
$json = json_encode($row);
}
} else {
echo "0 results";
}
echo $json;
$conn->close();
它给了我以下结果:
[{"Clave":"79","Tiempo":"02:23:43","Estatus":"Si","FechaInicio":"2017-03-06 13:02:41"}]
但是如果我想让每个结果都存储在一个变量中,也就是说:
$sql = "CALL bd.spPrueba()";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row[] = $result->fetch_assoc()) {
$Clave = $row["Clave"];
$Tiempo = $row["Tiempo"];
echo "<br>";
echo "Clave = ".$Clave;
echo "<br>";
echo "Tiempo = ".$Tiempo;
$json = json_encode($row);
}
} else {
echo "0 results";
}
echo $json;
$conn->close();
它只是不起作用,也没有为我节省任何东西,它只是向我显示以下内容:
Clave =
Tiempo =
[{"Clave":"79","Tiempo":"02:23:43","Estatus":"Si","FechaInicio":"2017-03-06 13:02:41"}]
除非您像这样从 ie中的变量$row
中删除方括号:while
$sql = "CALL bd.spPrueba()";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
$Clave = $row["Clave"];
$Tiempo = $row["Tiempo"];
echo "<br>";
echo "Clave = ".$Clave;
echo "<br>";
echo "Tiempo = ".$Tiempo;
$json = json_encode($row);
}
} else {
echo "0 results";
}
echo $json;
$conn->close();
它会给我以下结果:
Clave = 79
Tiempo = 02:23:43
{"Clave":"79","Tiempo":"02:23:43","Estatus":"Si","FechaInicio":"2017-03-06 13:02:41"}
如果我做一个var_dump();
在$row[]
我可以看到以下内容:
array(1) { [0]=> array(8) { ["Clave"]=> string(2) "79" ["Tiempo"]=> string(8) "02:50:30" ["Estatus"]=> string(5) "Si" ["FechaInicio"]=> string(19) "2017-03-06 13:29:27" } }
在row
我可以看到以下内容:
array(8) { ["Clave"]=> string(2) "79" ["Tiempo"]=> string(8) "02:51:04" ["Estatus"]=> string(5) "Si" ["FechaInicio"]=> string(19) "2017-03-06 13:30:01" }
我想留下括号,但我将字段保存在变量中php
,因为如果我删除括号,arrayJson
我在 Android 中拥有的那个会雷鸣。
我认为正在发生的事情是您
row
在 的每个位置保存一个对象array
row[]
,因此您应该能够在打印时输入索引和字段名称,试试这个。如果你用它打印一些东西,然后使用一个迭代器,这样你就可以保存这些值。
尝试这个
之后它不应该给你带来问题。