PHP不返回假值

PHP不返回假值,php,function,Php,Function,我已经为优惠券写了一段代码。每当我使用该函数检查优惠券代码是否存在时,它都会返回true并打印语句。但我不能得到虚假的报税表,也不能得到虚假案件的报表 function db_connect() { static $connection; if (!isset($connection)) { $connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); } if ($connection === fal

我已经为优惠券写了一段代码。每当我使用该函数检查优惠券代码是否存在时,它都会返回true并打印语句。但我不能得到虚假的报税表,也不能得到虚假案件的报表

function db_connect() {
  static $connection;
  if (!isset($connection)) {
    $connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
  }
  if ($connection === false) {
    return mysqli_connect_error();
  }
  return $connection;
}

function db_query($query) {
  $connection = db_connect();
  $result = mysqli_query($connection, $query);
  return $result;
}

function db_error() {
  $connection = db_connect();
  return mysqli_error($connection);
}

function db_select($query) {
  $rows = array();
  $result = db_query($query);
  if ($result === false) {
    return false;
  }
  while ($row = mysqli_fetch_assoc($result)) {
    $rows[] = $row;
  }
  return $rows;
}

function db_rows($query) {
  $result = db_query($query);
  if ($result === false) {
    return false;
  }
  $total_rows = mysqli_num_rows($result);
  return $total_rows;

}

function couponExists($cc) {
  $results = db_rows("SELECT * from ms_coupons where coupon_code='".$cc."'") or die(db_error());
  if ($results > 0) {
    return true;
  } else {
    return false;
  }
}

DB table : ms_coupons
coupon_id  coupon_code
1          CODE50
请查看www.php

$coupon = $_REQUEST['coupon_code'];
if (!couponExists($coupon)) {
  echo "Does not exist!";
} else {
  echo "Coupon exists!";
}

当我提供优惠券代码作为它打印的代码50时,优惠券存在!但是当我提供一些不同的东西,比如代码51时,pays不会打印任何东西。

您的问题在于代码中的这一行:

$results = db_rows("SELECT * from ms_coupons where coupon_code='".$cc."'") or die(db_error());
db_rows
函数返回行数,在您的情况下,它只能是两个值-10。如果db_rows返回0,脚本将执行
die(db_error())
部分(但没有mysqli_错误)

卸下
或模具(db_error())
零件,如下所示:

$results = db_rows("SELECT * from ms_coupons where coupon_code='".$cc."'");

如果要检查mysqli_错误,请将其移动到
db_query
函数。

“不打印任何内容”表明可能存在错误。PHP日志中有什么内容吗?启用错误报告时,页面上是否显示任何内容?可能会在整个预期逻辑中放置一系列
echo
语句,以便更具体地查看它偏离预期路径的位置?现在您知道了吗,当选中d时,0的mysql num行将等于false。这么多的代码…不会
或死亡(db_error())当结果为0时是否也会死亡?DB error也将是空的,所以不会打印任何内容。OP此处将打印什么内容:
print$var=0或5请删除将内容绑定到变量的行中的所有
。你的眼睛真的很锐利