我准备了两个在一个sql连接上运行的sql语句。当我在phpMyAdmin中运行它们时 - 第一行返回一行,第二行返回几行。但是,当我在php中使用以下代码时:
$conn = new mysqli($servername, $username, $password, $dbname);
(...)
$sql1 = "SELECT ...";
$sql2 = "SELECT ...";
$result = $conn->query($sql1);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "INSIDE IF:: " . $row["end_time"];
$variable = $row["end_time"];
}
}
else{
echo "FIRST ELSE";
$variable = $sth;
}
$result2 = $conn->query($sql2);
if ($result2->num_rows > 0) {
echo "the 2nd statement worked"; (...)
}
我收到屏幕消息:FIRST ELSE和第二个声明有效。为什么我看不到“INSIDE IF”?我100%肯定第一个查询返回一行。
答案 0 :(得分:0)
试试这个:
if ($result = $conn->query($sql1)) {
while ($row = $result->fetch_assoc()) {
echo "INSIDE IF:: " . $row["end_time"];
$variable = $row["end_time"];
}
$result->free();
} else {
echo "FIRST ELSE";
}