PHP-MySQL检查只返回False

PHP-MySQL检查只返回False,php,html,mysql,Php,Html,Mysql,我很快为PHP设计了一个非常简单的检查脚本,用于说明某个东西是在线的还是离线的 但是,关于我在状态表下的MySQL数据库中设置的ID号,它始终返回“Offline”。我试过大于、小于和等于 返回码 <?php require ('status.php'); if ( '$query' = 1 ) { print mysql_

我很快为PHP设计了一个非常简单的检查脚本,用于说明某个东西是在线的还是离线的

但是,关于我在状态表下的MySQL数据库中设置的ID号,它始终返回“Offline”。我试过大于、小于和等于

返回码

                <?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的整数类型,没有主键集。

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

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';
}

另请参见:

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

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';
}

另请参见:

由于您刚刚开始,我建议重新开始并使用:)
if('$query'=1){
应该是
if('$query'=1){
@DevZer0更好,
if($query==1)
:)更宽松的单引号也
$query==1
为什么不
$query==1
既然您刚刚开始,我建议重新开始并使用:)
如果('$query'=1){
应该是
如果('$query'==1){
@DevZer0更好,
如果($query==1)
:)单引号也更加松散
$query==1
为什么不
$query==1