Einträge werden nicht übernommen

pirate man

Erfahrenes Mitglied
ich hab jetzt für meine site ein neues newsscript und hab ein kleines script gemacht, das die einträge in der mysql-db von der tabelle des alten scripts zu der des neuen übernimmt
aber es kommt ein syntax-error, den ich noch nie gesehen hab

hier der quelltext des files:

PHP:
$server = "localhost";
$database = "xxx";
$user = "xxx";
$password = "xxx";
$table1 = "news_content";
$table2 = "corenews_news";

mysql_connect("$server", "$user", "$password") or die("Datenbank konnte nicht konnektiert werden!");
mysql_select_db("$database") or die("Fehler beim Öffnen der Datenbank!");

$query = mysql_query("SELECT * FROM $table1 ORDER BY EID");
while($result = mysql_fetch_array($query))
{
	$EID = $result['EID'];
	$autor = $result['autor'];
	$headline_ger = $result['headline_ger'];
	$headline_eng = $result['headline_eng'];
	$sec2 = $result['sec2'];
	$posting_ger = $result['posting_ger'];
	$posting_eng = $result['posting_eng'];
	
	mysql_query("INSERT INTO $table2 (id, author_id, news_title_ger, news_title_eng, time, icon_id, show_email, news_text_ger, news_text_eng, link, link_text) VALUES ($EID, $autor, $headline_ger, $headline_eng, $sec2, 0, 1, $posting_ger, $posting_eng, 0, 0)");

    echo mysql_error();
}
und hier könnt ihr euch die fehlermeldung ansehen: http://nfs6.daddeltreff.de/convert.php

ich hoffe, ihr könnt mir helfen
 
zeile tauschen und ausprobieren!


PHP:
mysql_query("INSERT INTO $table2 (id, author_id, news_title_ger, news_title_eng, time, icon_id, show_email, news_text_ger, news_text_eng, link, link_text) VALUES ('$EID', '$autor', '$headline_ger', '$headline_eng', '$sec2', '0', '1', '$posting_ger', '$posting_eng', '0', '0')");
 
hm, das wars nicht
folgendes kommt jetzt:
You have an error in your SQL syntax near 't need to commentate. Here you find the newsarchive, the newssearch and the news' at line 1You have an error in your SQL syntax near 't break out the uncomplicated driving fun, my harddisk asphalt will burn in autu' at line 1You have an error in your SQL syntax near 's sure to keep those fans busy for quite some time. Hot Pursuit 2 is scheduled f' at line 1You have an error in your SQL syntax near 't attainable for many hours. The reason was a server loss at our hoster. We hop' at line 1You have an error in your SQL syntax near 't confirmed by Electronic Arts yet because NFS:HP2 will only appear in th' at line 1You have an error in your SQL syntax near 't availabe yesterday again. The reason was a server problem again. Since the lo' at line 1You have an error in your SQL syntax near 's console has a completely different feel, a far greater sense of speed and soli' at line 1You have an error in your SQL syntax near 's driving controls are standard for arcade racers, with the usual accelerate, br' at line 1You have an error in your SQL syntax near 't be available for 1-2 weeks, because our hoster Daddeltreff.de will chan' at line 1
 
Duplicate Entry.. ich nehme mal an das Du 'unique' felder hast.. somit kannst Du alles nur einmal in die db schreiben. (zb. die zahl '1' darf dann nur einmal vorkommen) :-)

folgendes ist mir noch aufgefallen.. um probleme zu vermeiden beim reinschreiben und auslesen aus/in die db solltest Du die Funktion 'addslashes' benutzen..

PHP:
values('".addslashes($author_id)."','"...

und natuerlich beim auslesen wieder mit stripslashes entfernen.:)
 
hmm,

sieht so aus als wären in deine Variablen unter anderem ' Zeichen drin, die veranlassen MySQL dazu zur nächsten Spalte weiterzu gehen, aber das ist dann falsch. du musst diese Strings mit addslashes behandeln und nach dem auslesen wieder mit stripslashes, damit werden die Sonderzeichen escaped und von der Datenbank richtig verstanden
http://de.php.net/addslashes
 
Zurück