Php不打印数据库信息

时间:2013-08-05 06:24:22

标签: php mysql lamp

我只是设置了一个mysql数据库,虽然我的php没有打印出我想要打印的信息。

这是我的代码看起来的样子(我已经连接到mysql并成功创建了一个数据库,我只需要它打印出我插入的内容):

// will insert into the table
mysqli_query ($con, "INSERT INTO alarms(Title, Description, DT)
VALUES(getSucked, Agha will smd, 2013-08-05 00:15:12)");

//will print out what we just insert into the table, ie agha smd's
$result = mysqli_query($con,"SELECT * FROM alarms");
while ($row = mysqli_fetch_array($result))
{
echo $row['alarmID'] . " <br> " . $row['Title'] . " <br> " . $row['Description'] . " <br> " . $row['DT'];
}

//closing connection
mysqli_close($con);
echo "<br><br>connection has been closed";

我一直收到的警告/错误是:

“警告:mysqli_fetch_array()要求参数1为mysqli_result,布尔值在第83行的B:\ DropBox \ Dropbox \ EbadlyAgha \ Ebad \ reminders.php中给出”

第83行是while循环开始的地方。

4 个答案:

答案 0 :(得分:1)

您的查询无法运行。如果查询未执行,mysqli_query将返回false,因此警告mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given。在与数据库交互时,应始终检查返回值,以确保您知道发生了什么。 PHP会很乐意默默地将许多类型强制转换为其他类型,因此您必须非常主动地进行错误检查。

答案 1 :(得分:0)

将您的Insert查询更改为

mysqli_query ($con, "INSERT INTO alarms(Title, Description, DT)
VALUES('getSucked', 'Agha will smd', '2013-08-05 00:15:12')");

当您给出空格时,您的插入查询将失败。请尝试将它们放在引号中。

答案 2 :(得分:0)

使用

mysqli_query ($con, "INSERT INTO alarms(Title, Description, DT)
VALUES(getSucked, 'Agha will smd', '2013-08-05 00:15:12')");

并尝试回显查询并运行到phpmyadmin。因为你的值是空间的,所以你必须在''中使用它。

答案 3 :(得分:0)

mysqli_query失败时返回FALSE。

if ($result) {
    while ($row = mysqli_fetch_array($result))
    {
    echo $row['alarmID'] . " <br> " . $row['Title'] . " <br> " . $row['Description'] . " <br> " . $row['DT'];
    }
}