你好:)好像我不是那么优秀的程序员,如果不能像它应该的那样工作。让我们看看代码。
$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, 有问题的家伙。
答案 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>";
}