PHP,如果不工作

时间:2014-04-27 22:47:59

标签: php if-statement

你好:)好像我不是那么优秀的程序员,如果不能像它应该的那样工作。让我们看看代码。

$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,他仍然可以获得该消息。但是当我改变“&lt;”进入“&gt;”这意味着如果他得到的积分多于价格,他就买不到,对吧?好吧..不再一次。如果我设置$ pkt&gt; $ price脚本只是跳过这个如果insctruction和行为像它甚至不存在所以它只是继续脚本。有什么想法吗?

Regreds, 有问题的家伙。

1 个答案:

答案 0 :(得分:-1)

$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>";

}