gpt4 book ai didi

mysql - 如果不存在则选择插入添加或更新

转载 作者:行者123 更新时间:2023-11-29 23:48:01 26 4
gpt4 key购买 nike

我正在尝试记录我网站上发生的搜索。当有人搜索某些内容时,我想首先检查数据库是否以前被搜索过。如果它没有将其提交到数据库,则将搜索次数添加+1。

我目前遇到的问题是,每当您搜索时,它都会更新所有记录的搜索词。我想是因为我还没有设置 id。我怎样才能在第一个选择查询中获取搜索词的ID,并将ID作为第二个查询中的变量传递,以便它只更新与该ID关联的搜索词?

$result = mysql_query("SELECT * FROM wss_search WHERE searchterm ='$trimmed' ");

if( mysql_num_rows($result) > 0) {
mysql_query("UPDATE wss_search SET count = count+1 WHERE searchterm = '$trimmed' ");
}
else
{
mysql_query("INSERT INTO wss_search (id, searchterm, count) VALUES ('NULL', '$trimmed', '1') ");
}

非常感谢任何帮助。

我也知道我应该使用 mysqli,但是软件的其余部分还没有更新到 mysqli。

最佳答案

我已经使用下面的代码让它工作了。我是 php 新手,您能告诉我为什么它不安全以及我需要做什么才能使其安全吗?

$var = $_GET['q'] ;
$trimmed = mysql_secure($var);

$result = mysql_query("SELECT id FROM wss_search WHERE searchterm ='$trimmed' ");

while($row = mysql_fetch_array($result)) {

$id = $row['id'];
}

if( mysql_num_rows($result) > 0) {
mysql_query("UPDATE wss_search SET count = count+1 WHERE id = '$id' and searchterm = '$trimmed' ");
}
else
{
mysql_query("INSERT INTO wss_search (id, searchterm, count) VALUES ('NULL', '$trimmed', '1') ");
}

关于mysql - 如果不存在则选择插入添加或更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813350/

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