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