Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

INSERT sintaksa i ubacivanje samo jedne vrednosti?

  • 3 odgovora
  • 3.963 pregleda

Najnovija ↓

INSERT sintaksa i ubacivanje samo jedne vrednosti? 04.02.2006. u 16:22 · pre 252 meseca #1
INSERT INTO <IME TABELE> [(<LISTA KOLONA>)] VALUES (<LISTA VREDNOSTI>);

sta mi ne valja u ovom SQL upitu?

$sqlInsert="INSERT INTO tabela1 (".$tableField1.") VALUES (\"".tFieldValue1"\")";
$inserted=mysql_query($sqlInsert,$connection);

Kada umesto varijabli ubacim da mi je $sqlInsert samo jedan string,
cak i ako izbacim one zagrade a i ako izbacim \" opet ne radi.

?
Potpis
www.eden.rs
Izdavač duhovne i filozofske literature
Re: INSERT sintaksa i ubacivanje samo jedne vrednosti? 04.02.2006. u 18:31 · pre 252 meseca #2
ovako:

uradi prvo:

Code:

$sqlInsert="INSERT INTO tabela1 (".$tableField1.") VALUES (\"".tFieldValue1"\")";
echo $sqlInsert;

// za sada u komentaru
// $inserted=mysql_query($sqlInsert,$connection);



pa pogledaj kako ti izgleda query. Takodje, ne zaboravi da moras da prosledis _sva_ polja ka mysql bazi, ne samo 1 vrednost. Znaci ako tabela1 ima:

ime
prezime

a ti hoces samo ime da upises, pod uslovom da prezime _nije_ obavezno, onda moras u INSERT da stavis i ime i prezime, sa time sto ce prezime da bude prazno, odnosno: ''

takodje, ovo gore, videces sa echo, nece da valja... a pogledaj i sta nece valjati, pa menjaj ;)

Poz,
Sale
Potpis
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
Re: INSERT sintaksa i ubacivanje samo jedne vrednosti? 07.02.2006. u 18:49 · pre 252 meseca #3
Pozd.

Prvo, ovo :

Code:
$sqlInsert="INSERT INTO tabela1 (".$tableField1.") VALUES (\"".tFieldValue1"\")"; 
$inserted=mysql_query($sqlInsert,$connection);


ne valja. tFieldValue1 nema "$" prefix i nemash "." nakon toga.

Drugo, ovako napravljen query je lako podlozhan SQL injecting metodama. Hint: www.php.net/mysql_real_escape_string

Trece, ovo :
Citat:
pa pogledaj kako ti izgleda query. Takodje, ne zaboravi da moras da prosledis _sva_ polja ka mysql bazi, ne samo 1 vrednost. Znaci ako tabela1 ima:

ime
prezime

a ti hoces samo ime da upises, pod uslovom da prezime _nije_ obavezno, onda moras u INSERT da stavis i ime i prezime, sa time sto ce prezime da bude prazno, odnosno: ''


nije tachno. SQL insert mozhe da se koristi ovako:

INSERT INTO table VALUES (...values...)

ili

INSERT INTO table (fields) VALUES (...values...).

U prvom sluchaju navodjenje vrednosti (chak i praznih) je obavezno za svako polje tabele, a u drugom sluchaju navode se vrednosti samo za polja koja su navedena u "(fields)".

Svako dobro.
Re: INSERT sintaksa i ubacivanje samo jedne vrednosti? 08.02.2006. u 08:28 · pre 252 meseca #4
Mozes da insertujes samo jedno polje, ali zato MORAS da insertuje sva polja koja su deklarisana kao NOT NULL. Pogledaj strukturu
Potpis
Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme