【发布时间】:2014-02-23 00:14:41
【问题描述】:
我正在为我目前正在开发的网站做某种徽章系统,但在检查我的 MySQL 数据库时卡住了。
我想检查一下用户是否已经拿到了徽章,如果没有,把它放进去。
这是我的代码:
$userid = $_SESSION['userid'];
$badgename = "222asd";
$results=mysql_query("SELECT 1 FROM badges WHERE badge = '$badgename' AND mid = '$userid'");
if ($results>0)
{
echo 'You already have this badge';
}
else
{
echo 'You deserved a new badge';
}
问题在于,即使我将 $badgename 变量更改为数据库中没有的变量,我总是会收到“您已经拥有此徽章”的消息。
那么我在这里做错了什么?
编辑: 我现在尝试使用 MySQLI,因为您建议这样做。关于这个,我有一些问题要问你。
$numberofposts=$row['posts'];
$userid = $_SESSION['userid'];
$badgename = "222asd551222";
if($numberofposts >= 10){
$results=mysqli_query("SELECT 1 FROM `badges` WHERE `mid`='$userid' AND 'badge' = '$badgename'");
if($results->num_rows <= 0) {
mysqli_query("INSERT INTO badges ('mid', 'badge') VALUES ('$userid', '$badgename')");
}
}
那么我在这里做错了什么?
谢谢, 迈克尔
【问题讨论】:
标签: php mysql select if-statement mysqli