Fehler in mySql Abfrage?

NullAhnung

Aktives Mitglied
hallo...

ich brauch mal wieder ein geschultes Auge...meine alten müden Augen finden den Fehler nicht....

CODE
mysql_select_db('gripsle');
$sql="INSERT INTO t_play_PS SELECT ID_PS, question, a1, a2, a3, a4, richtige_A
FROM t_question_language
SET `t_play_PS`.`ID_PS` = '" . $_SESSION['ID_PS'] . "',
`t_play_PS`.`question` = `t_question_language`.`question`,
`t_play_PS`.`a1` = `t_question_language`.`a1`,
`t_play_PS`.`a2` = `t_question_language`.`a2`,
`t_play_PS`.`a3` = `t_question_language`.`a3`,
`t_play_PS`.`a4` = `t_question_language`.`a4`,
`t_play_PS`.`richtige_A` = `t_question_language`.`richtige_A`

WHERE `t_question_language`.`genre_id` = 0
AND `t_question_language`.`language` = '" . $_SESSION['playedLanguage'] . "'
AND ((`t_question_language`.`country` ='" . $_SESSION['playedCountry'] . "') OR (`t_question_language`.`country` = 0))
";
echo mysql_errno() . ": " . mysql_error() . "\n";
$ergebnis2 = mysql_query($sql)OR die("Error: $sql <br>".mysql_error());


da kommt immer eine mySql fehlermeldung...


QUOTE You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET `t_play_PS`.`ID_PS` = '50842469da3a5', `t_play_PS`.`question` = `t_qu' at line 3


hab schon alles versucht ... mit den `usw...
 
so jetzt hab ich das ganze in 2 abfragen aufgebröselt....
CODE
mysql_select_db('test');
$abfrage = "SELECT Frage, a1, a2, a3, a4, richtige_A
FROM t_question_language
WHERE genre_id = 0 AND language = '" . $_SESSION['playedLanguage'] . "' AND ((country ='" . $_SESSION['playedCountry'] . "') OR (country = 0))
";
$result = mysql_query($abfrage)OR die("Error: $abfrage <br>".mysql_error());
$row = mysql_fetch_object($result);

mysql_select_db('test');
$sql="INSERT INTO t_play_PS
SET id = '" . $id . "',
ID_PS = '" . $_SESSION['ID_PS'] . "',
` Frage = '" . $row->Frage . "',
a1 = '" . $row->a1 . "',
a2 = '" . $row->a2 . "',
a3 = '" . $row->a3 . "',
a4 = '" . $row->a4 . "',
richtige_A = '" . $row->richtige_A . "'
";
echo mysql_errno() . ": " . mysql_error() . "\n";
$ergebnis2 = mysql_query($sql)OR die("Error: $sql <br>".mysql_error());


aber es geht immer noch nicht...

QUOTE 0: Error: INSERT INTO t_play_PS SET id = '5084ed639b17e', ID_PS = '5084ed639a1e4', ` Frage = 'Was ist ein Axolotl?', a1 = 'Lurchart', a2 = 'Kaktusart', a3 = 'Nagetier', a4 = 'Affe', richtige_A = '1'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4

ich werd noch verrückt... über einen tag rumprobiert...
 
Gleiche Verwechslung nach wie vor....

Um dein Problem näher an der Wurzel anzugehen: Was hast du überhaupt vor?
 
so jetzt funktioniert es...

aber wie mache ich es, dass alle ausgewählten Datensätze eingetragen werden.....???
 
der Backtick war vorher ja gar nicht da :)

Bei Insert Select Set From Where war nicht klar, ob er nun Update oder doch Insert möchte - Set geht bei beidem, ja - From/Where macht bei Insert keinen Sinn
 
danke ....

jetzt klappt es mit 2 queries und einer while schleife...suppeeeerrrr

na der Backtick war mal da und wieder weg...grins... kam von den unzähligen verzweifelten Versuche....

 
Zurück
Oben