0

我正在开发一个脚本,它使用 Curl 从 youtube 获取标题和 id,并将它们保存到具有以下结构的数据库中:id | 标题 | id_youtube | 日期。

问题是我需要一个代码,以便如果 db 中已经存在显示 db 内容的标题,否则 curl 以处理并将其存储在数据库中。

id_youtube($q); // this function get the id_youtube
title_youtube($q); // this function get the youtube title

$id = id_youtube($q);
$q = title_youtube($q);

This is my code to insert values to DB

mysql_connect('localhost', 'db_user', 'pw_name') or die($connect_error);
mysql_select_db('db_name') or die($connect_error);

mysql_query("INSERT IGNORE INTO posts (id, title, id_youtube,date) VALUES (null,'$q', '$id',now())");

现在,只是保存到数据库,如果存在,再次插入新行(重复行),我需要类似的东西:

if $q already exist {

//query to show content from DB


}else{
// Code tu get titles and ids WHIT Curl
//mysql_query("INSERT IGNORE INTO posts (id, title, id_youtube,date) VALUES (null,'$q', '$id',now())");

}

有什么帮助吗?

4

1 回答 1

1

您可能可以进行查询,尝试使用您正在分析的 id_youtube 查找一行。如果查询返回至少一行(实际上只有一行),您将使用第二个查询获取信息,否则您将执行插入查询。

像这样的伪代码:

$query = "SELECT * FROM posts WHERE id_youtube = '$id' LIMIT 1";
$result = mysql_query($query);
if(mysql_num_rows($result)  == 1)
    $query = "SELECT yourColumns FROM posts WHERE id_youtube = '$id'";
    display_the_info();
else
    mysql_query("INSERT IGNORE INTO posts (id, title, id_youtube,date) VALUES (null,'$q', '$id',now())");

您还应该使用myslqi函数,而不是 mysql 函数。

于 2013-07-28T19:05:28.313 回答