【发布时间】:2015-05-18 15:59:38
【问题描述】:
假设我们有收件箱表,一次最多只能接收 50 条消息,为此我使用以下代码:
$maximum_messages_in_inbox = 50;
$query1 = mysql_query("SELECT * from inbox");
if(mysql_num_rows($query1) > $maximum_messages_in_inbox)
{
echo "Message memmory if full please try again later";
}
else
{
mysql_query("insert into inbox set text = '$text' , sender = '$sender' ");
}
这段代码运行良好,但每次都会执行两个查询。
我的问题是我们可以在单个查询中调整上述目的吗,例如:
mysql_query("select * from inbox if num > 50 insert else error");
if(error)
{
echo "Message memmory if full please try again later";
}
期待您的合作。谢谢
【问题讨论】:
-
仅供参考,您正在使用已弃用的
mysql_函数,这可能会导致 sql 注入的风险。出于安全考虑,您可能需要查看mysqli_或PDO -
了解prepared statements,并考虑使用PDO,it's not as hard as you think。
-
亲爱的我使用
mysqli而不是mysql但只是为了询问目的我使用mysql,无论如何感谢您的建议。下次我会用mysqli询问 -
但是@JayBlanchard 我觉得我真的很难:(