Dooling Posted March 22, 2006 Report Share Posted March 22, 2006 Es reģistrēju jaunu lietotāju datubāzē. Lieta tāda. Tiklīdz es ievadu visu laukus bez mīkstinājumiem un garumzīmēm, viss ir ok, bet tiklīdz kaut viens lauks ir ar mīkstinājumiem vai garumzīmēm, parādās šāda mysql kļūda: Data too long for column 'username' at row 1 kolonna 'username' - varchar(65) Kas var man palīdzēt ar padomu? Link to comment Share on other sites More sharing options...
Grey_Wolf Posted March 22, 2006 Report Share Posted March 22, 2006 (edited) Dooling--> Atkal nav pie rokas 'kristaala bumbas', nevareeshu izziileet kaads tev tas kverijs izskataas :( P.S. iepostee kveriju... edit: vispaar izskataas ka vienkaarshi lauks ir par iisu... pie DB izveides vajadzeeja pastaastit ka buus nacionaalie simboli... vai nu izveido garaaku lauku - ja username tev ir char(10) un posteesi kartupelis tad buus ok. ja posteesi kĀrtūpelis tad buus kljuuda... jo Ā neaiznjem 1 baitu, bet vairaak (2-3?)... Edited March 22, 2006 by Grey_Wolf Link to comment Share on other sites More sharing options...
Dooling Posted March 22, 2006 Author Report Share Posted March 22, 2006 kveerijs shaads -> $parole=md5(md5($parole)); mysql_connect($serv,$user,$pass) or die("<TD class='balts' align='center' valign='top'><div class='ok'>".$nevar_konekteties."</div></TD>"); mysql_select_db($db); $i = "insert into $table (id , username, password, amats, adm_tips) values ( LAST_INSERT_ID( ) , '".$lietotajvards."' , '".$parole."', '".$amats."', '".$adm."')"; mysql_query($i) or die(mysql_error()); mysql_close(); Link to comment Share on other sites More sharing options...
Grey_Wolf Posted March 22, 2006 Report Share Posted March 22, 2006 (edited) kaada tev ir db tabulas struktura ? nav par iisu lauks? edit: ..username, password, amats... `username`, `password`, amats... nav labi izmantot rezerveetos vaardus tabulu lauku nosaukumos... ja izmanto tad liec `` vai ' ' vai " " Edited March 22, 2006 by Grey_Wolf Link to comment Share on other sites More sharing options...
Dooling Posted March 22, 2006 Author Report Share Posted March 22, 2006 kaada tev ir db tabulas struktura ?nav par iisu lauks? tur tā lieta ka nav par īsu lauks, es laukam uzliku text tipu, tapat tas neinserto tabulā. Pat ja laukam ir tikai viena garumzīme parādās tā pati kļūda. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted March 22, 2006 Report Share Posted March 22, 2006 (edited) laukam vai datiem ko vadi iekshaa? edit: un ko t gribeeji pateikt ar sho ? LAST_INSERT_ID( ) ??? ja id ir auto_increment tad vispaar vinju neizmanto vai atstaaj tukshu... Edited March 22, 2006 by Grey_Wolf Link to comment Share on other sites More sharing options...
Dooling Posted March 22, 2006 Author Report Share Posted March 22, 2006 laukam vai datiem ko vadi iekshaa?edit: un ko t gribeeji pateikt ar sho ? LAST_INSERT_ID( ) ??? ja id ir auto_increment tad vispaar vinju neizmanto vai atstaaj tukshu... Datiem ko es ievadu. Kļudījos :P. Es atradu atrisinājumu. Ar funkcijas str_replace palīdzību. Viss ir oki :D Paldies! Link to comment Share on other sites More sharing options...
Grey_Wolf Posted March 22, 2006 Report Share Posted March 22, 2006 str_replace ??? kaads sakars ? ar insertojamiem datiem? Link to comment Share on other sites More sharing options...
Dooling Posted March 22, 2006 Author Report Share Posted March 22, 2006 str_replace ??? kaads sakars ?ar insertojamiem datiem? Datus pirms ievadīšanas datubāzē aizvietojam ar simbolu virknējumiem. Mīkstinājumus un garumzīmes šajā gadījumā. Lūk šādi : $username= str_replace("ā","[aa]",$username); Un tad viss ok. Ja vajag nolasīt datus, tad pretēji $username= str_replace("[aa]","ā",$username); Link to comment Share on other sites More sharing options...
Grey_Wolf Posted March 22, 2006 Report Share Posted March 22, 2006 Dooling--> tas nav atrisinaajums ;) manupraat taa ir stipri nenopietna pieeja... ja nakamreiz atkal saskarsies ar shaadu probleemu tad atkal saksi risinaat no sakuma, piedevaam lieki noslogo serveri... it iipashi ja dadi buus daudz, un ko dariisi ja vardss buus LELLE ? pie izvades dabuusi LEĻE ;) Link to comment Share on other sites More sharing options...
Dooling Posted March 22, 2006 Author Report Share Posted March 22, 2006 Dooling--> tas nav atrisinaajums ;)manupraat taa ir stipri nenopietna pieeja... ja nakamreiz atkal saskarsies ar shaadu probleemu tad atkal saksi risinaat no sakuma, piedevaam lieki noslogo serveri... it iipashi ja dadi buus daudz, un ko dariisi ja vardss buus LELLE ? pie izvades dabuusi LEĻE ;) tāds variants var gadīties vienā no 1000 gadījumiem, ja ne pat vairāk (Ja ievadītais teksts ir "Mārtiņš", tad datu bāzē man ievadīs "M[aa]rti[nn][sh]"). Un to sistēmu kuru es veidoju, lietotāju būs labi , ka 100 (es domāju, ka tas ir maksimums). Serveris gan jau tiks galā ar šādu slodzi :) ... nu vismaz es ceru ;) Bet kopumā ņemot es nesaprotu kāpēc radās tieši šinī kodā vaicājuma kļūda, jo citos php failos man ļauj ievadīt mīkstinājumus un garumzīmes un nav nekādu kļūdu. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted March 22, 2006 Report Share Posted March 22, 2006 (edited) Dooling--> id , `username`, `password`, password ir rezerveetais SQL vaards tu tachu neiedomaasies lauka nosaukumu SELECT? `SELECT` derees edit: ja pastaav pat 1 iespeeja no 1 miljon tad gandriiz 99% vinja piepildiisies --> Merfija likums ;) Edited March 22, 2006 by Grey_Wolf Link to comment Share on other sites More sharing options...
Erdogans Klucis Posted March 24, 2006 Report Share Posted March 24, 2006 Kāda Tev MySQL versija? Ja 5.0.3, varbūt ir šis gadījums? http://bugs.mysql.com/bug.php?id=9029 Link to comment Share on other sites More sharing options...
Recommended Posts