SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
![]() |
|
Alati teme | Način prikaza |
|
![]() |
#1 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Imam ovaj kod:
$naslov = $data['nalsov']; mysql_connect ("localhost", "baza", "lozinka") or die ('Error: '.mysql_error()); mysql_select_db ("mojabazar_mmm"); $query="INSERT INTO asd (ID, naslov)VALUES ('NULL','".$naslov."')"; mysql_query($query) or die ('Error updating database'); echo "Baza je updejtovana sa: " .$naslov. " "; Gde je greska? |
![]() |
![]() |
![]() |
#2 |
banned
Professional
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() NULL nemoj stavljati pod jednostruke navodnike. Koristi mysql_error() da bi video grešku u upitu.
__________________
Don't look at me; I'm lost too. “If you can't dazzle them with brilliance, baffle them with bul*s**t.” |
![]() |
![]() |
![]() |
#4 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Nije u tome problem... verovatno je nesto sa tipovima podataka... u svakom slucaju hvala na pronadjenim greskama u kodu.
|
![]() |
![]() |
![]() |
#5 |
Super Moderator
Knowledge base
Datum učlanjenja: 20.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Koristi mysql_error() da vidiš koja je greška, ali evo ja ću ti pokušati i bez toga da ti pomognem:
![]() Kôd:
$query="INSERT INTO asd (ID, naslov)VALUES ('NULL','".$naslov."')"; Ako želiš da upušeš NULL vrednost u polje, onda upisuješ NULL bez navodnika, dakle ovo što ti je već @Br@nkoR predložio: Kôd:
$naslov = mysql_real_escape_string($naslov); $query="INSERT INTO asd (ID, naslov) VALUES (NULL, '$naslov')"; Druga moguća stvar je što nisi uradio eskejp stringa $naslov. Recimo ako je naslov Nemo' da me zavritlavaš bez eskejpovanja MySQL upit će sadržati 'Nemo' da me zavritlavaš' i zbog ovih rasparenih navodnika upit puca. Navodnici su samo jedan primer, preskakanje ovog koraka dovodi do mnogih zloupotreba i rupa u bazi podatak. Zato sve stringove koji se upisuju u bazu obavezno na escape prvo. Poslednja izmena od mileusna : 23. 05. 2011. u 17:19. |
![]() |
![]() |
![]() |
#6 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Pokusao sam nesto preko phpmyadmin-a i upravu si, evo sta kaze: Column 'ID' cannot be null ... e sad zasto column 'ID' nemoze da bude null zaista neznam... da li da stavim npr. $i=0 pa da se $i svaki put uvecava za 1... ?
|
![]() |
![]() |
![]() |
#7 |
Super Moderator
Knowledge base
Datum učlanjenja: 20.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Zato što je verovatno u strukturi baze naglašeno NOT NULL
![]() Kôd:
$naslov = mysql_real_escape_string($naslov); $query="INSERT INTO asd (naslov) VALUES ('$naslov')"; $new_id = mysql_insert_id(); // ovde vidi koji ID je mysql dodelio novom slogu Moraćeš malo da savladaš osnove baza podataka i MySQL-a, jbg... Poslednja izmena od mileusna : 23. 05. 2011. u 17:38. |
![]() |
![]() |
![]() |
#8 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Da, moracu ... ucim ... davno sam radio u programskom jeziku delphi 7 i baze pa mi je znanje iz ovog jako slabo, a i poprilicno je drugacije raditi u php-u...
Da to je bio problem jer polje ID nije bilo niti NULL niti auto_increment... Thanks for HELP! Poslednja izmena od AdriaMart : 23. 05. 2011. u 17:45. |
![]() |
![]() |
![]() |
#9 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Potrebno je da u bazu upisem sledci broj 20.456788 pa me interesuje koji tip podataka da koristim?
|
![]() |
![]() |
![]() |
#10 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() FLOAT... i možeš pisati ovako ne moraš duplirati varijable... $query="INSERT INTO asd (ID, naslov)VALUES ('$data[naslov]')";
|
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|