无法执行简单的MySql查询

时间:2013-04-03 13:53:02

标签: php mysql

我对PHP非常陌生并且仍在学习基础知识而且我遇到了一个我希望有人可以帮助我的问题。

我有以下代码;

$MfgQuery = "SELECT `Mfg` FROM `categories` WHERE `ID` = 10";

if($MfgQueryRun = mysql_query($MfgQuery)) {

    if (mysql_num_rows($MfgQueryRun)==NULL){
        echo 'No Mfg Results Returned';
    } else {
    $Mfg = $MfgQueryRun['Mfg'];
    echo $Mfg;
}
} else {
echo 'Query Unsuccessful';

}

但是由于我不知道的原因,我继续得到'No Mfg Results Returned',但是如果我将查询复制并粘贴到PHPMyAdmin的MySQL框中,它会正确返回结果。

是什么?

BTW,这正是我可以插入PHP MyAdmin的SQL框中的内容;

SELECT `Mfg` FROM `categories` WHERE `ID` = 10 

这会返回一个结果,但是使用上面的代码,它不会。

如果有人不介意告诉我哪里出错了,我会非常感激,我会提前感谢你

4 个答案:

答案 0 :(得分:1)

试试这个

 $MfgQuery = "SELECT `Mfg` FROM `categories` WHERE `ID` = 10";

  $MfgQueryRun = mysql_query($MfgQuery) ;
  $row = mysql_fetch_array($MfgQueryRun) ;

   if (mysql_num_rows($MfgQueryRun)== 0 ){
    echo 'No Mfg Results Returned';
  } else {
   $Mfg = $row['Mfg'];
   echo $Mfg;

  }

答案 1 :(得分:0)

尝试

$MfgQuery = "SELECT `Mfg` FROM `categories` WHERE `ID` = 10";
$MfgQueryRun = mysql_query($MfgQuery);

if($MfgQueryRun) {

    if (mysql_num_rows($MfgQueryRun) == 0){
        echo 'No Mfg Results Returned';
    } else {
    $Mfg = $MfgQueryRun['Mfg'];
    echo $Mfg;
}
} else {
echo 'Query Unsuccessful';

}

答案 2 :(得分:0)

if (mysql_num_rows($MfgQueryRun)){
        echo 'No Mfg Results Returned';
} else {
       $Mfg = $MfgQueryRun['Mfg'];
       echo $Mfg;
}

尝试这个比较删除NULL。因为mysql_num_rows返回数值。

答案 3 :(得分:0)

首先,您不应该使用mysql_ *函数,从PHP 5.5.0开始它们已被弃用(过时),并且将来会被删除。请改用mysqli。

其次,你没有正确测试。 PHP没有强类型,所以测试'== null'并不总是这样,你会期望什么。请参阅comparision operators的PHP手册。要针对 null 进行测试,请始终使用 is_null()

第三,你没有获取数据。

使用MySQLi,代码看起来与此类似:

$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno != 0) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    die(); // or return, if in method or function context
}

$result = $mysqli->query("SELECT `Mfg` FROM `categories` WHERE `ID` = 10");
if ($result === false) {
    echo "Query failed: (" . $mysqli->errno . ") " . $mysqli->error;
    die(); // or return, if in method or function context
}

printf("Select returned %d rows.\n", $result->num_rows);

$row = $result->fetch_assoc();
echo $row['Msg'];

/* free result set */
$result->close();