2010-12-19 41 views
0
<?php 

$url = $_GET['url']; 
if($url == "") { 
    die("Invalid Request! Missing Parameter 1!"); 
    exit; 
} 
$tags = get_meta_tags($url); 
$key = $tags['keywords']; 
$desc = $tags['description']; 

$con = mysql_connect('HOST', 'USER', 'PASS') or die(mysql_error()); 
mysql_select_db('zach_WebLock', $con) or die(mysql_error()); 
$query = "INSERT INTO `Keyword` (`Site`, `Keyword`, `Description`) VALUES ('".$site."', '".$key."', '".$desc."')"; 
mysql_query($query) or die(mysql_error()); 

echo '<b>Site: <u>'.$url.'</u></b>'; 
echo '<br>'; 
echo '<b>Description:</b>'; 
echo '<br>'; 
echo $desc; 
echo '<br><br>'; 

$keys = explode(',', $key); 
foreach($keys as $word) { 
    echo $word; 
    echo '<br>'; 
} 



?> 

このスクリプトは、?url =変数でURLのキーワードと説明を抽出します。すべての情報を表示しますが、エラーは発生しませんが、DBに情報は書き込まれません。何か案は?あなたが定義されていない変数$siteを挿入しようとしている(このPHPスクリプトで何が問題になっていますか?

(私はテストのために)(mysql_real_escape_stringのを残している)

+0

dbをチェックして、レコードが挿入されているかどうかを確認しましたか(空白フィールドが書き込まれていないことを確認していますか? –

+0

Tablenameに等しいフィールド名を持っていることに気付き、両方とも ''その周りにあります。たぶんmysqlは混乱し、同じものを参照していると思いますか?おそらくあなたはこれを除外するためにフィールドの名前を変更できますか?キーワード – Bazzz

答えて

3

。おそらく、あなたは$urlを意味?

付属していない場合、より多くの情報を提供してください。あなたはあなたがoccuringからMySQLのエラーを停止する必要があり、キーワードテーブルのプライマリキーのためにAUTOインクリメント可能にするために「」を追加する必要がありmysql_error()

+0

ありがとうございます!私はそのスクリプトを何度も読んだことがあります。それは別の10分のためにこの答えを受け入れることができないと言います...しかしあなたのものは私が受け入れるものです!ありがとう! –

+0

あなたは大歓迎です! – alexn

0

から任意の出力を取得してください。

$query = "INSERT INTO 'Keyword' VALUES ('','$site', '$key', '$desc')"; 
echo $query; 

解決策が解決しない場合は、スクリプトを実行して空白の値を調べて、必要な箇所を修正するときにクエリをエコーアウトすることをおすすめします。それでも問題が解決しない場合は、スクリプトからエコーされた期待通りのINSERTクエリを貼り付けて、PhpMyAdminでテストして、別の結果(エラー)が出るかどうかを確認してください。

関連する問題