gpt4 book ai didi

php - Mysql,检查行是否存在,是否获取值,如果不插入

转载 作者:行者123 更新时间:2023-11-29 08:43:26 25 4
gpt4 key购买 nike

我有两个表,一个是“tags”,存储“tid”(自动增量)和“name”(标签名称)。第二个表“tags_data”存储每个标签的数据。该表具有字段“tid”(来自第一个表)和其他一些字段。

这样人们就可以在我的网站上标记内容。当我标记内容时,我想首先检查该标记是否已存在于第一个表中。如果它不存在,那么我们将标签插入数据库并使用 tid 插入第二个表。到目前为止我已经完成了这部分工作。

问题是当标签已存在于数据库中时,我想获取现有的 tid 并在第二个查询中使用它。

这是我到目前为止的代码:

    // check if tag already exists
$tagexists = "SELECT COUNT(*) as cnt FROM tags WHERE 'name' = '$usetag' LIMIT 1";
$results = mysql_query($tagexists) or die('Invalid query: ' . mysql_error());
if ($results['cnt'] == 0) {
// tag is not yet in DB
$tagquery1 = "INSERT INTO tags (name) VALUES ('$usetag')";
$result = mysql_query($tagquery1) or die('Invalid query: ' . mysql_error());
$lastid = mysql_insert_id();
$tagquery2 = "INSERT INTO tags_data (tid, nid, uid) VALUES ($lastid, $nid2, $uid)";
$result = mysql_query($tagquery2) or die('Invalid query: ' . mysql_error());
} else {
// tag is already in DB, grab the tid
$grabtid = "SELECT tid FROM tags WHERE 'name' = '$usetag' LIMIT 1";
$results = mysql_query($grabtid) or die('Invalid query: ' . mysql_error());
$row = mysql_fetch_array($results);
$lastid = $row['tid'];
$tagquery2 = "INSERT INTO tags_data (tid, nid, uid) VALUES ($lastid, $nid2, $uid)";
$result = mysql_query($tagquery2) or die('Invalid query: ' . mysql_error());
}

我检查标签是否已存在的方式有问题。我正在使用 COUNT 遵循在线指南,但它似乎无法正常工作。

最佳答案

$results['cnt'] == 0 是错误的。你忘记了得到结果。 ($results 是资源 ID。)

if(mysql_result($results) == 0){

同样,获取现有数据的 if 的第二部分也丢失了。您想在那里使用 $data = mysql_fetch_assoc($result);

关于php - Mysql,检查行是否存在,是否获取值,如果不插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13163607/

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