1

我对 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';

}

但由于我不知道的原因,我不断收到“未返回制造结果”,但如果我将查询本身复制并粘贴到 PHPMyAdmin 中的 MySQL 框中,它会正确返回结果。

是什么赋予了??

顺便说一句,这正是我可以插入 PHP MyAdmin 的 SQL 框中的内容;

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

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

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

4

4 回答 4

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;

  }
于 2013-04-03T14:07:10.023 回答
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';

}
于 2013-04-03T13:59:22.553 回答
0
if (mysql_num_rows($MfgQueryRun)){
        echo 'No Mfg Results Returned';
} else {
       $Mfg = $MfgQueryRun['Mfg'];
       echo $Mfg;
}

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

于 2013-04-03T14:01:55.343 回答
0

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

其次,您没有正确测试。PHP 没有强类型,因此测试 '== null' 并不总是如您所愿。有关比较运算符,请参阅 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();
于 2013-04-03T14:18:44.817 回答