我正在尝试编写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;
?>
答案 0 :(得分:2)
您的更新查询无效。
您只是更新rating_set
正好NOW()
的数据。这很可能不适合任何数据记录。您可能只想使用date
部分。
答案 1 :(得分:0)
您在更新查询中使用NOW(),它提供当前时间。哪个永远不会一样!!!尝试从更新查询中删除'.... AND rating_set = NOW()'。