2010-12-19 10 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>'; 
} 



?> 

Dieses Skript extrahiert die Schlüsselwörter und die Beschreibung für die URL in der Variable? Url =. Es zeigt alle Informationen an, wirft keine Fehler auf, schreibt aber die Informationen nicht in die DB. Irgendwelche Ideen? (Was ist falsch an diesem PHP-Skript?

(Ich habe die mysql_real_escape_string weggelassen() zum Testen)

+0

Haben Sie die db überprüft, um zu sehen, ob irgendwelche Datensätze eingefügt werden (um zu überprüfen, dass keine leeren Felder geschrieben werden)? –

+0

Ich bemerke, dass Sie einen Feldnamen haben, der dem Tabellenname entspricht, und beide haben '' herum dann. Vielleicht ist Mysql verwirrt und denkt, dass sie sich auf dasselbe beziehen? Vielleicht könnten Sie das Feld umbenennen, um dies auszuschließen? Stichwort – Bazzz

Antwort

3

Sie versuchen, die Variable $site einzufügen, die nicht definiert ist. Vielleicht bedeutete Sie $url?

Wenn das nicht der Fall ist, bitte weitere Informationen zur Verfügung. Haben Sie eine Ausgabe erhalten von mysql_error()?

+0

Danke! Ich habe dieses Skript mehrmals gelesen und es nicht verstanden! Es sagt, dass ich diese Antwort für weitere 10 Minuten nicht akzeptieren kann ... aber deine ist die, die ich annehme! Vielen Dank! –

+0

Gern geschehen! – alexn

0

Sie müssen ‚hinzufügen‘ für die AUTO Inkrementierung für Ihren Primärschlüssel in der Keyword-Tabelle zu ermöglichen, die die MySQL-Fehler von auftretenden stoppen sollte.

Wenn dies Ihre Lösung nicht behebt, empfehle ich, die Abfrage beim Ausführen des Skripts auszublenden und leere Werte zu suchen, ggf. zu korrigieren. Wenn Sie weiterhin Probleme haben, kopieren Sie die erwartete INSERT-Abfrage, die aus dem Skript ausgegeben wurde, und testen Sie sie in PhpMyAdmin, um festzustellen, ob Sie ein anderes Ergebnis (Fehler) erhalten.