PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datensatz kopieren - Problem mit Hochkommata


Klausi2000
15.08.2005, 14:59:15
Hallo,

ich muß Daten innerhalb der gleichen Tabelle kopieren ... es ändern sich nur 2-3 Werte, dafür versuche ich folgende Vorgehensweise:


$article_query = "SELECT * FROM `articles` where storeId=$storeId limit 1";
....
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {


$line['id'] = $new_article_id;
$line['storeId'] = $new_storeId;
$line['editorStoreId'] = $new_editorStoreId;



foreach ($line as $schluessel => $wert) {
$insert_values[] = $schluessel;
$insert_inserts[] = $wert;
}


$insert_new_article = mysql_query("INSERT INTO articles VALUES('".implode("','", $insert_inserts)."'")or die("Anfrage fehlgeschlagen: " . mysql_error());


==> In einem meiner Datenfelder steht eine längere Beschreibung des Artikels, darin können sowohl Sonderzeichen als auch ",' oder / vorkommen ... und genau bei den Hochkommata läuft mir da Script regelmässig gegen die Wand ...

Wie kann ich nun die im Array $wert stehenden Daten so maskieren, dass sie 1:1 kopiert werden?

Wenn ich mir die Daten einfach nur ausgeben lasse, sieht es eigentlich gut aus ... das mit dem implode hab ich irgendwo gefunden ... müsste aber so gehen.

Habt ihr eine Idee?

Wie kopiert ihr beliebige Datensätze innerhalb einer Tabelle wo ich die insert...selects nicht nutzen kann?

Gibt es einen einfacheren Weg als jede Variable einzeln zu packen und zu bearbeiten?

Danke,
Christian

xabbuh
15.08.2005, 15:12:42
Wenn du die Werte mit mysql_real_escape_string() (http://www.php.net/mysql_real_escape_string) bearbeitest, sollte es funktionieren.