在插入或更新mysql之前检查我的代码不工作我不知道为什么
$sql = "SELECT * FROM downloads WHERE name = '" . $details['name']."' " ;
$result = mysql_query($sql);
if( mysql_num_rows($result) === 0) {
$sql = "INSERT INTO downloads (name, idu) VALUES ('".$details['name']."', '".$details['idu']."')";
$result = mysql_query($sql);
}
else{
$sql2 = "UPDATE downloads SET idu='".$details['idu']."' WHERE name='". $details['name'] ."'";
$result = mysql_query($sql2);
}
2条答案
按热度按时间mccptt671#
这样就可以处理具有空值的唯一键
roejwanj2#
通常使用
on duplicate key update
:要想让它起作用,你需要
name
待申报unique
或者有一个unique
索引:这个
?
是参数的占位符。不要用参数值咀嚼查询字符串!这样做会使查询更难优化、调试,并使其容易受到sql注入攻击。不管是好是坏,不再支持的“mysql\”函数不支持参数,所以这是更新代码(和技能)的另一个原因到“mysqli”。