Php Can';我不能用这个mysql语句更新分数
我猜我只是有点生疏什么的,因为这似乎应该是有效的。我是不是错过了什么 这是我试图使用的代码Php Can';我不能用这个mysql语句更新分数,php,mysql,sql,sql-update,Php,Mysql,Sql,Sql Update,我猜我只是有点生疏什么的,因为这似乎应该是有效的。我是不是错过了什么 这是我试图使用的代码 <?php echo dbConn(); $existing_time = mysql_result(mysql_query("SELECT p_time FROM scores WHERE p_uid=$uid"), 0); $existing_category = mysql_result(mysql_query("SELECT p_cat FROM scores WHERE p_uid=$u
<?php
echo dbConn();
$existing_time = mysql_result(mysql_query("SELECT p_time FROM scores WHERE p_uid=$uid"), 0);
$existing_category = mysql_result(mysql_query("SELECT p_cat FROM scores WHERE p_uid=$uid AND p_cat=$pieces"), 0);
if ($existing_category == "") {
mysql_query(
"INSERT INTO scores VALUES (
'',
'$uid',
'$pusername',
'$time',
'$pieces'
)");
} elseif ($existing_time <= $time) {
echo "No Change! Old Score Was Better (Lower)";
} elseif ($existing_time > $time) {
mysql_query("UPDATE scores SET p_time = " . $time . " WHERE p_uid = " . $uid . " AND p_cat = " . $pieces . "");
};
?>
将更新语句更改为:
mysql_query("UPDATE scores SET p_time = '" . $time . "' WHERE p_uid = " . $uid . " AND p_cat = " . $pieces . "");
您在update语句中的$time
周围缺少引号,在update
语句中的$time
周围缺少引号。另外,请查看的ON replicate KEY update
选项,该选项允许您在一条语句中完成此操作。谢谢。我真不敢相信我错过了这些引语。{facepalm}。。。不过,我不确定在这里重复密钥更新的工作方式。我以前没用过。顺便说一下。。。你应该回答问题,而不是简单地评论问题。否则,我不能选择你的答案作为最有用的答案。如果我是你,我会删除这个问题。我不值得花时间写一个完整的答案。