neo Posted May 25, 2005 Report Share 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; } Link to comment Share on other sites More sharing options...
Venom Posted May 25, 2005 Report Share Posted May 25, 2005 $set=array(); $i=31; while(--$i) $set[]='`m'.$i."`='".mysql_escape($_GLOBALS['m'.$i])."'"; "INSERT INTO tabula SET ".implode(',',$set) Link to comment Share on other sites More sharing options...
neo Posted May 25, 2005 Author Report Share Posted May 25, 2005 man shitaa vinsh neievieto. varbuut sintakses kluuda? mysql_query ("INSERT INTO tabla_1 SET ".implode(',',$set) ); Link to comment Share on other sites More sharing options...
Venom Posted May 25, 2005 Report Share Posted May 25, 2005 kas ir iekš print "INSERT INTO tabla_1 SET ".implode(',',$set) ? kādu kļūdu met ārā? Link to comment Share on other sites More sharing options...
neo Posted May 25, 2005 Author Report Share 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. Link to comment Share on other sites More sharing options...
Venom Posted May 25, 2005 Report Share Posted May 25, 2005 nekādas šķirbas, tāpēc jau viš i' SET nevis VALUES() Link to comment Share on other sites More sharing options...
Roze Posted May 25, 2005 Report Share 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); Link to comment Share on other sites More sharing options...
Venom Posted May 25, 2005 Report Share 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 Link to comment Share on other sites More sharing options...
Roze Posted May 25, 2005 Report Share 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ā. Link to comment Share on other sites More sharing options...
neo Posted May 25, 2005 Author Report Share 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 Link to comment Share on other sites More sharing options...
Recommended Posts