我很快为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,没有主键设置。
答案 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