У меня есть следующий код:
$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"}]
Если вы не удалите квадратные скобки из переменной $row
в while
ie следующим образом:
$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
гремит тот что у меня в Андроиде.
Я думаю, что происходит то, что вы сохраняете объект
row
в каждой позицииarray
row[]
, поэтому вы должны иметь возможность вводить индекс и имя поля, когда вы печатаете попробуйте это.Если вы печатаете что-то с ним, возьмите итератор, чтобы вы могли сохранить значения.
Попробуй это
Это не должно доставить вам проблем после этого.