无法更新然后在SQL中插入

时间:2013-08-10 16:16:54

标签: php sql

我正在尝试编写PHP代码,以便在存在时更新值,如果没有,则插入它。这个函数的一部分工作是插入部分,但更新似乎不起作用我的代码如下:

<?php
$id = $_GET['Track'];
$user = $_GET['User'];
$rating = $_GET['Rating'];
include("connect.php");
$query = "UPDATE `rating` SET `rating` = '$rating' WHERE track_id = '$id' AND user_id = '$user' AND rating_set=NOW()";
$sth = $dbc->query($query);
$rows = $sth->rowCount();  

if ($rows == 0) {
$query = "INSERT INTO rating values ('$id','$rating','$user',NOW())";
$results = $dbc->query($query); 
$rows = $results->rowCount(); 
}

/* output in necessary format */

header('Content-type: application/json; charset=utf-8');
echo $_GET['onJSONPLoad'];
echo "(" . json_encode($rows) . ")";


$dbc = null;
?>

2 个答案:

答案 0 :(得分:2)

您的更新查询无效。

您只是更新rating_set正好NOW()的数据。这很可能不适合任何数据记录。您可能只想使用date部分。

答案 1 :(得分:0)

您在更新查询中使用NOW(),它提供当前时间。哪个永远不会一样!!!尝试从更新查询中删除'.... AND rating_set = NOW()'。