我目前正在尝试显示我在putty中创建的表并编写了一个代码,以便我可以从数据库中显示该表,似乎我在逻辑上编写了代码,但似乎有些部分失败了。
它给了我这个警告
警告:mysqli_fetch_row()要求参数1为mysqli_result,第25,31和34行给出布尔值
这是$ Row = mysqli_fetch_row($ result);和mysqli_free_result($ result);
require_once ("settings.php");
$conn = @mysqli_connect($host, $user, $pswd, $dbnm)
or die ("Failed to connect to server");
@mysqli_select_db($conn, $dbnm)
or die ("Database not available");
$query = "SELECT car_id, make, model, price, yom FROM cars";
$result = mysqli_query($conn, $query);
echo "<table width='100%' border='1'>";
echo "<tr><th>Car_id</th><th>Make</th><th>Model</th><th>Price</th></tr>";
$Row = mysqli_fetch_row($result);
do {
echo "<tr><td>{$Row[0]}</td>";
echo "<td>{$Row[1]}</td>";
echo "<td>{$Row[2]}</td>";
echo "<td>{$Row[3]}</td></tr>";
$Row = mysqli_fetch_row($result);
} while ($Row);
echo "</table>";
mysqli_free_result($result);
mysqli_close($conn);
?>
答案 0 :(得分:0)
您要两次获取该行。将Do语句更改为以下内容:
do {
echo "<tr><td>{$Row[0]}</td>";
echo "<td>{$Row[1]}</td>";
echo "<td>{$Row[2]}</td>";
echo "<td>{$Row[3]}</td></tr>";
} while ($Row);
答案 1 :(得分:0)
如果您的查询因连接设置错误而失败,则会返回false ...因此布尔值。在查询后尝试“或死(MySQL_error())以显示错误
答案 2 :(得分:0)
最有可能的是,查询中存在错误,因此mysqli_query
返回false
(布尔值抱怨),或者数据库连接失败。尝试直接在phpmyadmin / different tool / mysql命令行中执行查询,看看它是否在那里工作。 mysqli_error()也可能有助于找到错误。
答案 3 :(得分:0)
您应该在mysqli_connect
之后删除“或死...”部分。
他们使用mysqli_connect
表达式将boolean
的结果转换为or
。
见:
php5 -r '$x="tmp";$y=($x or 3);var_export($y);'
结果是:true