This question already has answers here:
How to check if a row exists in MySQL? (i.e. check if an email exists in MySQL)
                                
                                    (4个答案)
                                
                        
                                4年前关闭。
            
                    
为了向mysql插入一些数据,我使用:

$sql = "INSERT INTO MyGuests (fullname, email) VALUES ('John Doe', '[email protected]')";


但是,在此之前,我想,例如,如果全名John Doe已在MyGuests表的查询中使用,则可以使用电子邮件进行更新。如果不是,则通常如上所述插入数据。我该怎么办?非常感谢

最佳答案

只需使用mysql num行检查行。使用下面的代码

$query = mysql_query("SELECT * FROM MyGuests WHERE fullname='John Doe'");
if(mysql_num_rows($query)==0){
mysql_query("INSERT INTO MyGuests (fullname, email) VALUES ('John Doe', '[email protected]')");
}
else{
mysql_query("UPDATE MyGuests SET email='[email protected]' WHERE fullname='John Doe'");
}


如果使用的是mysqli_ *函数,则将mysqli替换为mysqli。我没有使用准备好的语句,您必须使用它们来停止sql注入。我建议您使用PDO或mysqli准备好的语句来停止sql注入。
希望这可以帮助您

关于php - PHP将数据更新到sql ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28654014/

10-16 17:56