gpt4 book ai didi

php - 这条mysql行不会调用结果吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:27 25 4
gpt4 key购买 nike

我创建了一个数据库,例如,您已经使用了代码,它会将其添加到其中,并且列是“promocodex”和“idused”。当我运行我的 PHP 代码时,它不会返回我想要的结果,不,我需要。

我已经尝试获取结果,我试图计算受影响的行数,但它就是不动。我以为我使用的 SELECT 函数有误,但当我查看它时,并没有太大的错误。

<?php
$userid = $_SESSION["userid"];

if(isset($_POST['Submit'])) {
$ckrs=mysql_query("SELECT 'promocodex' FROM `oto_usedpromocodes` WHERE 'idused' ='".$userid."'") or die(mysql_error());
$recordcode = mysqli_fetch_array($ckrs);

if (mysqli_num_rows($recordcode) < 0) {
$msg = "You've already used this promo code!";
}
else {
$msg = "It worked!";
}
}
else {
$msg = "Something's wrong!";
}
?>

表格是这样的:

"<table width="30%" align="center" cellspacing="0" cellpadding="0" style=" border: solid !important; border-radius:5px; background-color:rgb(70, 72, 76); ">
<tr>
<td><p>&nbsp;</p><center><font color="red"><strong><?=$clean;?></strong></center></font><p>&nbsp;</p></td>
</tr>
<tr>
<td>
<form action="promocode.php" method="post" name="promocode" id="promocode">
<table width="500" align="center" cellpadding="4" cellspacing="0" style="margin-top:-50px;">
<?php
if(isset($_POST['Submit']))
{ ?>
<tr>
<td colspan="4" align="center">
<font color="red"><strong><?=$msg;?></strong></font></td>
</tr>
<?
}
?>

<tr>
<td colspan="7" nowrap="nowrap" class="admintd" align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><span><strong>Promo Code<br><br></strong></span></font> </td>
</tr>

<tr>
<td colspan="1" class="formfield" align="center">
<input name="promocode" type="text" class="footer-text" value="" width="25" padding="0" />
</td>
</tr>
<tr>
<td colspan="4" align="center" nowrap="nowrap"><input name="Submit" type="submit" class="footer-text" value="Create" /></td>
</tr>
</table>
</form>
</td>
</tr>

</table>"

我一直在输入一个已经存在于数据库中的代码,所以应该出现的结果是“您已经使用过这个促销代码!”但出现的是“它成功了!”

我真正想要发生的是同一个用户 ID 不能一次又一次地使用相同的代码。

最佳答案

首先,您没有在调用mysql_querymysql_error 时包含数据库连接,它们实际上应该是mysqli_querymysqli_error。将该行更改为此(假设您的连接称为 $conn):

$ckrs=mysqli_query($conn, "SELECT 'promocodex' FROM `oto_usedpromocodes` WHERE 'idused' ='".$userid."'") or die(mysqli_error($conn));

其次,您在数组 ($recordcode) 而不是查询结果集 ($ckrs) 上调用 mysqli_num_rows ).您还比较小于 0 的地方应该大于。您需要更改此行:

if (mysqli_num_rows($recordcode) < 0) {

要么

if (mysqli_num_rows($ckrs) > 0) {

if (!empty($recordcode)) {

关于php - 这条mysql行不会调用结果吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54730256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com