gpt4 book ai didi

mysql - 仅在 MySQL 中插入一次或更新(如果存在)- Facebook 应用程序

转载 作者:行者123 更新时间:2023-11-29 00:36:42 25 4
gpt4 key购买 nike

几周来我一直在尝试制作一个 facebook 游戏,但我被卡住了..这可能是一个很容易回答的问题,但这是我第一次使用 mysql,我没有找到任何帮助我在互联网上。

我想做的是一个 flash 游戏,人们在获得确认后在后台上传他们的个人数据,如电子邮件、姓名、姓氏,并得到一个分数,在获得更高分数后,如果现有值是降低。

现在我已经成功地创建了这段代码

$dbhost     = 'bla bla';
$dbuser = 'bla bla';
$dbpass = 'bla bla';
$data = 'bla bla';



$db = mysql_connect($dbhost, $dbuser, $dbpass);

if (mysql_errno() > 0) {
if (mysql_errno() == 1203) {
die("DB error");
} else {
die("DB error");
}
}

if ($_REQUEST['action'] == "add") {
mysql_select_db($data, $db);
$insert = "INSERT INTO FB (UID, first_name, last_name, email, link)
VALUES (

'".$_REQUEST['uid']."',
'".$_REQUEST['first_name']."',
'".$_REQUEST['last_name']."',
'".$_REQUEST['email']."',
'".$_REQUEST['link']."'

)";

$res = mysql_query($insert, $db) or die ("Save Error");
mysql_close($db);
echo "Added to DB!";
}

它工作正常但有问题.. 如果我再次提交我的字段,表格中会出现另一个重复的行,其中包含相同的信息。

我希望用户只提交一次..因此有一个唯一的行并且只更新他的分数,如果他设法获得更高的分数。

任何帮助将不胜感激:)

最佳答案

创建一个合适的 UNIQUE 键然后使用 INSERT ... ON DUPLICATE KEY UPDATE :

ALTER TABLE FB ADD UNIQUE KEY (UID);

INSERT INTO FB
(UID, first_name, last_name, email, link)
VALUES
(123, 'foo', 'bar', 'foo@bar.com', '')
ON DUPLICATE KEY UPDATE
first_name = VALUES(first_name),
last_name = VALUES(last_name),
email = VALUES(email)
link = VALUE(link)
;

关于mysql - 仅在 MySQL 中插入一次或更新(如果存在)- Facebook 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13955078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com