我面临的问题是,mysql_num_rows 在整个代码中都给了我一个 1 的输出,但是当我在 if 语句中将它与 0 匹配时,它返回 true 并执行代码。所以 $license 返回 ..... 而不是它的实际值。
我尝试使用这些自己调试问题。
- 尝试 print_r 查看数据是否存在。- 是的。
- 尝试在第一部分回显 $license - 返回正确的值。
- 尝试检查 mysql_num_rows 的值 - 返回 1。
- 在 if 语句中将其与 0 匹配 - 当它应该为 false 时返回 true,因为值为 1。
对此有什么帮助吗?
$check = mysql_query("SELECT * FROM licenses WHERE email='$email'") or die(mysql_error
());
if (mysql_num_rows($check) > 0)
{
while ($data = mysql_fetch_array($check))
{
print_r($data); // for test
$name = $data['name'];
$license = $data['pid'];
echo $license; // test print 1
$comments = $data['comments'];
}
if ($license == "Sgsmorgan")
$license = "EWP Discounted Basic (Simpleleveraging)";
}
$count = mysql_num_rows($check); // for test
echo $count; // returns 1.
if (mysql_num_rows($check) == 0)
$name = "";
$license = "...........";
echo $license;// test print 2
$comments = "Email doesnt exist in the database";