我写了一张优惠券代码。每当我使用函数来检查优惠券代码是否存在时,它将返回true并打印该语句。但我无法得到虚假的回报,也无法获得印刷为虚假情况的陈述。PHP没有返回虚假值
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
check_coupon.php
$coupon = $_REQUEST['coupon_code'];
if (!couponExists($coupon)) {
echo "Does not exist!";
} else {
echo "Coupon exists!";
}
当我提供COUPON_CODE为CODE50它打印
,优惠券存在!但是当我提供与CODE51不同的东西时,付款不会打印任何东西。
“不打印任何东西”表示可能有错误。 PHP日志中是否有任何内容?当您启用错误报告时,页面上是否显示任何内容?也许在整个预期逻辑中放置一系列'echo'语句,以更具体地查看它偏离预期路径的位置? – David
你现在有没有检查时,0的mysql num rows将等于false。如此多的代码...... – JustOnUnderMillions
不会死或死(db_error());'也死于0结果时?数据库错误也是空的,所以没有打印。 – apokryfos