WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 08.09.2002, 19:20   #1
pirate man
Inventar
 
Registriert seit: 15.06.2000
Beiträge: 2.833


Standard MySQL - Einträge werden nicht übernommen

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-Code:
$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
pirate man ist offline   Mit Zitat antworten
Alt 08.09.2002, 19:24   #2
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

LOL
Einfach.
Du musst in den Strings alle Anführungszeichen, etc. escapen.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 08.09.2002, 19:34   #3
pirate man
Inventar
 
Registriert seit: 15.06.2000
Beiträge: 2.833


Standard

du meinst zb die links in den einträgen (<a href="blabla">)?
pirate man ist offline   Mit Zitat antworten
Alt 08.09.2002, 19:41   #4
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Jup, aber dafür gibts eh enstprechende PHP-Funktionen.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 08.09.2002, 19:46   #5
pirate man
Inventar
 
Registriert seit: 15.06.2000
Beiträge: 2.833


Standard

ich hab jetzt die zeile
PHP-Code:
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)"); 
durch
PHP-Code:
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')"); 
ersetzt

leider hat das mein problem nicht gelöst, jetzt kommt folgendes:
Zitat:
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
pirate man ist offline   Mit Zitat antworten
Alt 08.09.2002, 19:54   #6
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Drück ich mich heute so unklar aus?
Du musst die INHALTE escapen:

PHP-Code:
$headline_ger addslashes($result['headline_ger']);
$headline_eng addslashes($result['headline_eng']);
$sec2 $result['sec2'];
$posting_ger addslashes($result['posting_ger']);
$posting_eng addslashes($result['posting_eng']); 
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 08.09.2002, 19:56   #7
pirate man
Inventar
 
Registriert seit: 15.06.2000
Beiträge: 2.833


Standard

sorry
was genau macht addslashes? mit escapen fang ich nix an
pirate man ist offline   Mit Zitat antworten
Alt 08.09.2002, 20:12   #8
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Wenn MySQL/PHP auf einen ' stößt, glaubt er, dass der String zu ende ist.
Deswegen muss man den ' escapen (ein \ voranstellen), damit der Parser den ' unmodifiziert in das Datenbankfeld stellt.

Zitat:
AddSlashes

(PHP 3, PHP 4 >= 4.0b1)
AddSlashes -- Stellt bestimmten Zeichen eines Strings einen Backslash "\" (Rückstrich) voran
Beschreibung:

string addslashes (string str)

Gibt einen String (Zeichenkette) zurück, in dem bestimmten Zeichen ein Backslash "\" voran gestellt wurde. Diese Funktion ist z.B. für Datenbankabfragen wichtig. Die behandelten Zeichen sind der einfache und der doppelte Anführungsstrich (' und "), der Rückstrich (\) selbst sowie NUL (das Null-Byte).
http://at.php.net/manual/de/function.addslashes.php
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:05 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag