#mysql #select #while-loop #fetch
#mysql #выберите #во время цикла #выборка
Вопрос:
у меня есть таблица, подобная приведенной ниже:
hub dep
A B
A C
B D
B E
B F
E G
я использую mysql select для получения запроса, и мой код выглядит следующим образом:
$sql = "SELECT dep FROM handd WHERE hub='B'";
$result = $conn->query( $sql );
$row = $result->fetch_assoc();
while($row = $result->fetch_assoc()) {
echo "id: " . $row["dep"]."<br>";
}
но это просто дает мне результат, как показано ниже:
id: E
id: F
и мне интересно, где D?
Комментарии:
1. Как вы думаете, что делает строка перед
while
?2. вообще ничего 🙂
3. @SinaNouri Не пустая строка, строка с
$row = $result->fetch_assoc();
.
Ответ №1:
$row = $result->fetch_assoc();
В этой строке хранится результат ‘B D’. На самом деле это должно быть:
$sql = "SELECT dep FROM handd WHERE hub='B'";
$result = $conn->query( $sql );
while($row = $result->fetch_assoc()) {
echo "id: " . $row["dep"]."<br>";
}