我正在尝试创建一个系统,在这个系统中,给用户一个促销代码,然后他们将其输入到表单中。系统检查代码是否已被使用,如果未被使用,则返回“代码已被使用”。如果没有,则返回产品密钥。
到目前为止,我得到它的消息,如果代码是无效的,如果关键是正确的,而不是使用,但我不能为我的生活,找出如何让它回显消息,如果促销代码已经被使用。
“acode”是访问代码。
如果“akey”有效且未使用,则返回“akey”。
这里的数据库设置
<form method="POST">
Access Code:
<input type="text" name="acode">
<br />
<input type="submit" name="sub">
</form>
<?php
// this will trigger when submit button click
if(isset($_POST['sub'])){
$db = new mysqli("","","","");
// create query
$query = "SELECT * FROM promo_codes WHERE acodes='".$_POST['acode']."'";
// execute query
$sql = $db->query($query);
// num_rows will count the affected rows base on your sql query. so $n will return a number base on your query
$n = $sql->num_rows;
// if $n is > 0 it means there is an existing record that matches base on your query above.
if($n > 0){
$coderesult = "SELECT akeys FROM promo_codes WHERE isclaimed='0' AND acodes='".$_POST['acode']."' LIMIT 1";
$results = $db->query($coderesult);
foreach($results as $row)
{
if ($n > 0){
echo "Your key is ".$row['akeys']."<br>";
}
}
} else {
echo "Incorrect Access Key";
}
}
</body>
</html>
1条答案
按热度按时间ilmyapht1#
您检索错误的
akeys
记录。你需要做一个fetch_assoc()
在实际从结果对象获取记录之前调用。更改:
收件人: