Php 值仍然在插入,即使查询被封装在if语句中,这应该阻止它这样做吗?
我真的不知道这里发生了什么,我绞尽脑汁想弄清楚这件事已经好多年了 我有一个变量Php 值仍然在插入,即使查询被封装在if语句中,这应该阻止它这样做吗?,php,mysql,Php,Mysql,我真的不知道这里发生了什么,我绞尽脑汁想弄清楚这件事已经好多年了 我有一个变量$overflow=$\u POST['overflow']然后输入以下代码: if($overflow != "" || $overflow != "Overflow link"){ $query = "DELETE FROM links WHERE overflow='YES'"; $result = mysql_query($query) or die(mysql_error()); $q
$overflow=$\u POST['overflow']代码>然后输入以下代码:
if($overflow != "" || $overflow != "Overflow link"){
$query = "DELETE FROM links WHERE overflow='YES'";
$result = mysql_query($query) or die(mysql_error());
$query = "INSERT INTO links (link, overflow) VALUES ('$overflow','YES') ON DUPLICATE KEY UPDATE overflow=VALUES(overflow)";
$result = mysql_query($query) or die(mysql_error());
}
如果$overflow
为空或保留默认值,则不会插入该值,但如果该值有效,则会删除该值的现有条目(因为我无法使该列唯一),然后重新插入
有人知道为什么要插入任何值吗
任何帮助都将不胜感激
“如果不是空的或不是某个值”
它不能同时为空和“某个值”,所以这个条件总是正确的。您正在寻找:
if ($overflow != "" && $overflow != "Overflow link")
“如果不是空的或不是某个值”
它不能同时为空和“某个值”,所以这个条件总是正确的。您正在寻找:
if ($overflow != "" && $overflow != "Overflow link")
这里存在严重的SQL注入安全漏洞。当用户发布overflow=”时会发生什么;删除表链接--代码>?它插入表单字段name=overflow
中发布的值,因此我认为没有必要这样做,因为它本身验证了它正在被设置,不是吗如果不能使其唯一,则意味着它具有重复的值。在这种情况下,插入新行时要替换哪个值?@cdhowie:这是针对私人客户的,对于一个非常小的地下项目,他将是唯一可以访问脚本的人(基本安全措施,除非会话经过验证,否则无法发布)@Pixelatron:仅仅因为只有一两个人可以访问该网站,并不意味着就可以原谅草率的编码PYou在此处存在严重的SQL注入安全漏洞。当用户发布overflow=”时会发生什么;删除表链接--代码>?它插入表单字段name=overflow
中发布的值,因此我认为没有必要这样做,因为它本身验证了它正在被设置,不是吗如果不能使其唯一,则意味着它具有重复的值。在这种情况下,插入新行时要替换哪个值?@cdhowie:这是针对私人客户的,对于一个非常小的地下项目,他将是唯一可以访问脚本的人(基本安全措施,除非会话经过验证,否则无法发布)@Pixelatron:仅仅因为只有一两个人可以访问该网站,并不意味着就可以原谅草率的编码Pempty()在这里是无用的,只是$overflow
是无用的enough@Col.炮弹碎片刚刚经过行动组的声明。。。“如果$overflow为空或保留默认值,则不会插入”。也许我把它理解为字面意思。empty()在这里是无用的,只是$overflow
是无用的enough@Col.炮弹碎片刚刚经过行动组的声明。。。“如果$overflow为空或保留默认值,则不会插入”。也许我把它当成了真的。