neo Posted May 25, 2005 Report Posted May 25, 2005 taatad man ir kaudze ar mainiigiem kuri saakas no $m1 .....$m30 . Attieciigi ieksh db ir 30 lauki ar nosaukumiem no m1.....m30 . Pienemsim, ka visu maniigo veertiibas ir 1. Taatad man ar kaut kaada cikla paliidziibu vajadzeetu visus to mainiigos sabaazt datubaazee. Ciklu uzrakstiiju, bet kaa pievienot pie pieprasiijuma? for ($i=1; $i<=30; ++$i) { $mainigais = 'm'.$i; }
Venom Posted May 25, 2005 Report Posted May 25, 2005 $set=array(); $i=31; while(--$i) $set[]='`m'.$i."`='".mysql_escape($_GLOBALS['m'.$i])."'"; "INSERT INTO tabula SET ".implode(',',$set)
neo Posted May 25, 2005 Author Report Posted May 25, 2005 man shitaa vinsh neievieto. varbuut sintakses kluuda? mysql_query ("INSERT INTO tabla_1 SET ".implode(',',$set) );
Venom Posted May 25, 2005 Report Posted May 25, 2005 kas ir iekš print "INSERT INTO tabla_1 SET ".implode(',',$set) ? kādu kļūdu met ārā?
neo Posted May 25, 2005 Author Report Posted May 25, 2005 nee kluudas nav, bet man liekas, ka vinsh neievieto taapeec ka lauku pievienošana saakas no m30 uz leju nevis no m1 uz augsu.
Venom Posted May 25, 2005 Report Posted May 25, 2005 nekādas šķirbas, tāpēc jau viš i' SET nevis VALUES()
Roze Posted May 25, 2005 Report Posted May 25, 2005 kas ir iekš print "INSERT INTO tabla_1 SET ".implode(',',$set) ?kādu kļūdu met ārā? 17919[/snapback] mysql_query() nemet nekādus erorus (funkcija pati atgriež tikai true vai false), lai redzētu ko mysql atgriež pēc kverija pēc mysql_query() uztaisi echo mysql_error(); tad redzēsi ar ko DB servers ir neapmierināts. Otrs vizuālam debugam vienmēr der ja kverijs nestrādā izvadīt viņu echo "INSERT INTO tabla_1 SET ".implode(',',$set);
Venom Posted May 25, 2005 Report Posted May 25, 2005 SET ".implode(',',$set) nestrādās. jo tabulas lauku skaits neatbilst ievietojamo vērtību skaitam. no-no! nenostrādās ja kāds no pārpalikušiem ir NOT NULL, VALUES() ir tas prasīgais
Roze Posted May 25, 2005 Report Posted May 25, 2005 SET ".implode(',',$set) nestrādās. jo tabulas lauku skaits neatbilst ievietojamo vērtību skaitam. no-no! nenostrādās ja kāds no pārpalikušiem ir NOT NULL, VALUES() ir tas prasīgais 17924[/snapback] Tas tā ir, es vienkārši uzreiz nepamaniju ka $set tiek veidots šādi $set[]='`m'.$i."`='".mysql_escape($_GLOBALS['m'.$i])."'"; līdz ar to arī pēcāk palaboju savu komentāru :) Protams ja būtu tikai values tad apgalvojums paliek spēkā.
neo Posted May 25, 2005 Author Report Posted May 25, 2005 (edited) es pameeginaaju shitaa un man aizgaaja :) for ($i=1; $i<=30; ++$i){ $set[]='m'.$i."='1'"; } mysql_query ("INSERT INTO tabula_1 SET ".implode(',',$set) ); Edited May 25, 2005 by neo
Recommended Posts