if语句-PHP和if不工作


if statement - PHP and if not working

你好:)看起来我不是一个好程序员,如果不能正常工作。让我们看看代码。

$pkt = mysql_query("SELECT meta_value FROM wp_usermeta WHERE user_id = $user_id AND meta_key='mycred_default'");
if ( $pkt < $price OR $user_id == 0)
{
 $message = 'Sorry, you need more LPoints.';
    echo "<SCRIPT type='text/javascript'>
        alert('$message');
        window.location.replace(('"http://sute.com/rp'"));
    </SCRIPT>";
    mysql_close();
}

所以pkt是我的用户得到的一些变量。所以,如果他得到的点数(pkt)少于他得到的javascript消息的价格,对吧?好它不起作用。即使我的用户获得的$pkt比$price多,他仍然会收到这条消息。但当我把"<"改为">"时,这意味着如果他得到的积分超过了价格,他就买不到了,对吧?好不会再发生了。如果我设置$pkt>$price脚本只是跳过这个If-instruction,并表现得像它不存在一样,所以它只是继续脚本。知道吗?

遗憾的是,有问题的人。

$res = mysql_query("SELECT meta_value FROM wp_usermeta WHERE user_id = $user_id AND meta_key='mycred_default'");
$result = mysql_fetch_assoc($res);
$pkt = $result['meta_value'];
if ( $pkt < $price || $user_id == 0)
{
 $message = 'Sorry, you need more LPoints.';
    echo "<SCRIPT type='text/javascript'>
        alert('$message');
        window.location.replace(('"http://sute.com/rp'"));
    </SCRIPT>";
}
mysql_close();

PDO示例:

<?php
// Initialize the database connection
$pdo = new PDO('mysql:host='.$your_hostname.';dbname=.'$your_db, $user, $pass, 
    array(
        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
    )
);
$sql = "SELECT meta_value FROM wp_usermeta WHERE user_id = :user_id AND meta_key='mycred_default'";
// Create prepared statement
$stm = $pdo->prepare($sql);
$stm->bindParam(':user_id', $user_id, PDO::PARAM_INT);
$stm->execute();
$pkt = $stm->fetchColumn();
if ( $pkt < $price || $user_id == 0)
{
 $message = 'Sorry, you need more LPoints.';
    echo "<SCRIPT type='text/javascript'>
        alert('$message');
        window.location.replace(('"http://sute.com/rp'"));
    </SCRIPT>";
}