0

Curl を使用して YouTube からタイトルと ID を取得し、次の構造のデータベースに保存するスクリプトを開発しています。タイトル | id_youtube | 日にち。

問題は、タイトルが db に既に存在する場合に db のコンテンツを表示するコードが必要であることです。それ以外の場合は、curl で処理して DB に保存します。

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())");

現在、DBに保存するだけで、存在する場合は、新しい行(重複行)に再度挿入します。次のようなものが必要です。

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 で行を見つけようとするクエリを実行できます。クエリが少なくとも 1 行 (実際には 1 行のみ) を返す場合、2 番目のクエリを使用して情報を取得します。それ以外の場合は、挿入クエリを実行します。

この擬似コードのようなもの:

$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())");

また、mysql 関数ではなく、 myslqi関数を使用する必要があります。

于 2013-07-28T19:05:28.313 に答える