我无法在php中获取来自mysql数据库的一行

时间:2015-04-12 17:14:30

标签: php mysql sql fetch

我准备了两个在一个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%肯定第一个查询返回一行。

1 个答案:

答案 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";
}