我正在尝试从MySQL数据库中检索列“v162”和“v164”的值。它连接得很好,但不会从两列中检索信息。
我想要检索的列的行(与标题匹配的列)都是TINYINT(1)值,如下所示:
v162 = 1
v164 = 0
这是我目前的代码:
$mysqli = mysqli_connect($host, $user, $pass, $database);
$query = "SELECT * FROM search WHERE title = '$title'";
if ($result = $mysqli->query($query)) {
$i = 0;
while ($row = $result->fetch_row()) {
if ($row["v162"] == '1') {
echo '<div id="162link' . $i . '">1.6.2</div>';
}
if ($row["v164"] == '1') {
echo '<div id="164link' . $i . '">1.6.4</div>';
}
$i++;
}
$result->free();
}
$mysqli->close();
我之前已经要求更正代码,这有一些更严重的错误,现在我只需要实际成功检索数据。
答案 0 :(得分:1)
如果您的查询由于错误而失败,则您的脚本将不执行任何操作,但您将看不到错误。如果找不到匹配项,那么您的脚本将无法执行任何操作。添加一些代码来检查查询的返回值。
尝试
$result = $mysqli->query($query) or die($mysqli->error()); // Quit with error if query fails.
if ($result->num_rows == 0) { // Display something informative if nothing is found.
echo '<div>No matches found</div>';
} else {
$i = 0;
while ($row = $result->fetch_row()) {
if ($row["v162"] == '1') {
echo '<div id="162link' . $i . '">1.6.2</div>';
}
if ($row["v164"] == '1') {
echo '<div id="164link' . $i . '">1.6.4</div>';
}
$i++;
}
$result->free();
}
答案 1 :(得分:0)