我需要你对PHP中if语句的一些帮助,因为我是新手
首先,我有这个问题:
$sqlCmd = "SELECT user.name,user.level
FROM user.user
WHERE user.id = '".$_GET['char']."'
LIMIT 1";
现在我有第二个查询
visible $sqlUpdate = "UPDATE user.user
SET level='1'
WHERE id='".$_GET['char']."'
LIMIT 1";
我想要做的是这样的:if level>1
运行$sqlUpdate
,否则会打印错误。
答案 0 :(得分:1)
试试这个
visible $sqlUpdate = "UPDATE user.user
SET level='1'
WHERE id='".mysql_real_escape_string($_GET['char'])."'
AND level >1
LIMIT 1";
参考这些链接,他们可以帮助您学习 http://sqlzoo.net/,http://beginner-sql-tutorial.com/sql.htm
答案 1 :(得分:1)
visible $sqlUpdate = "UPDATE user.user SET level='1' WHERE id='".mysql_real_escape_string($_GET['char'])."' AND level >1 LIMIT 1";
你的代码很容易被sql注入,你需要正确地转义所有请求
您的代码容易受sql injection攻击,您需要撤消所有get
,post
和request
,更好的方法是使用Prepared statement
好读
ext/mysql
PHP扩展程序(提供名为mysql_的所有函数)为officially deprecated as of PHP v5.5.0,将来会被删除。因此,请使用PDO
或MySQLi
好读
答案 2 :(得分:0)
$sqlCmd = "SELECT user.name,user.level FROM user.user WHERE user.id = '".$_GET['char']."' AND level>1 LIMIT 1";
if(mysql_num_rows($mysql_con)===1){
//run second query
}else{echo'error:'}
答案 3 :(得分:0)
我认为应该这样做......
$result = mysql_query($sqlCmd);
if($row = mysql_fetch_object($result)) {
if ($row->level > 1)
{
mysql_query($sqlUpdate);
//Might want to add a check here if it was successful...
echo "Done";
}
else
echo 'error!!!';
}
mysql_free_result($result);
答案 4 :(得分:0)
试试这个
$sqlCmd = "SELECT user.name,user.level
FROM user.user
WHERE user.id = '".$_GET['char']."'
LIMIT 1";
$resource = mysql_query($sqlCmd);
$temp_arr = mysql_fetch_assoc($resource);
$level = $temp_arr['level'];
if($level > 1)
{
$sqlUpdate = "UPDATE user.user
SET level='1'
WHERE id='".mysql_real_escape_string($_GET['char'])."'
LIMIT 1";
mysql_query($sqlUpdate);
}
答案 5 :(得分:-1)
mysql_query("UPDATE user.user SET level='1' WHERE id='".$_GET['char']."' and level>1 LIMIT 1");