PHP - MySQL仅检查返回False

时间:2013-07-17 02:05:24

标签: php html mysql

我很快为PHP设计了一个非常简单的检查脚本,以说明某些内容是在线还是离线。

然而,关于我在状态表下的MySQL数据库中设置的ID号,它一直返回“离线”。我尝试过大于,小于和等于。

返回代码

                <?php
                    require ('status.php');
                        if ( '$query' = 1 ) {
                        print mysql_error();
                        echo "Radio is Offline";
                        } else {
                        echo "Radio is Online";
                    } 
                ?>

Status.php

<?php
$hostname = "localhost";
    $username = "removed";
    $password = "removed";
    $dbname = "removed";
    mysql_connect($hostname, $username, $password) OR DIE ("Unable to 
        connect to database! Please try again later.");
    mysql_select_db($dbname);
    $query = "SELECT ID FROM status";
?>

表结构是“状态” ID字段是一个整数类型,长度为1,没有主键设置。

1 个答案:

答案 0 :(得分:4)

这是一个代码审查答案,但它应该会帮助你。首先,您需要创建一个函数来检索状态,而不是以这种方式包含代码文件:

function getStatusId($db)
{
    $result = $db->query('SELECT ID FROM status');
    $rows = $result->fetchAll(PDO::FETCH_COLUMN, 0);

    return current($rows); // return first row or false
}

此函数将现有数据库连接作为其输入,并返回ID列的值。称之为:

// create database connection
$db = new PDO('mysql:dbname=removed', 'removed', 'removed');

// call your function
if (getStatusId($db) == 1) {
    echo 'on';
} else {
    echo 'off';
}

另请参阅:PDO