我正在尝试调整这段代码,以便如果结果已经存在于数据库中,那么是否更新它而不插入?
有人能告诉我怎么做吗。我对mysql和php真的很陌生。
<?php
require_once('includes/session.php');
require_once('includes/functions.php');
require('includes/_config/connection.php');
session_start();
confirm_logged_in();
if (isset ($_GET['to'])) {
$user_to_id = $_GET['to'];
}
if (!isset($_GET['to']))
exit('No user specified.');
$user_id = $_GET['to'];
$result = mysql_query("SELECT * FROM ptb_likes WHERE liked_id ='".$user_to_id."' ");
mysql_query("INSERT INTO ptb_likes (user_id, liked_id) VALUES (".$_SESSION['user_id'].", ".$user_to_id.")");
if($result)
{
mysql_query("UPDATE ptb_likes SET user_id_has_liked='1' WHERE user_id=".$_SESSION['user_id']."")
or die(mysql_error());
mysql_query("UPDATE ptb_likes SET likes='1' WHERE liked_id="$profile_id"")
or die(mysql_error());
header("Location: {$_SERVER['HTTP_REFERER']}");
}
?>
您应该尝试使用一个MySQL语句。
关于复制密钥更新
点击此处查看更多信息:http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html