Kako iz query upita izvući ime tablice pomoću php?
Kako iz query upita izvući ime tablice pomoću php?
- poruka: 18
- |
- čitano: 2.506
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Kako iz query upita izvući ime tablice pomoću php?
Kako misliš ime tablice? Valjda svih tablica, na osnovu čega misliš pronaći baš tu tablicu?
Pa ne moras isto pitanje postavljati u vise tema! Pitaj na jednom mjestu, ovako samo razvodnjavas forum a nas tjeras da 2 puta citamo isto!
Pa mislim da korisnik upiše neki query upit i iz tog upita se izvuće ime tablice u kojoj se želi napraviti promjena ili slično...??
Pa mislim da korisnik upiše neki query upit i iz tog upita se izvuće ime tablice u kojoj se želi napraviti promjena ili slično...??
Korisnik upiše upit? Dakle korisnik ne bira što želi pomoću GUI-a, nego kuca SQL kôd? Jako pametno.
Sve te to pitam, zato što mislim da postoji neki bolji način da uradiš to želiš.
Tako je..pošto imam zadatak napraviti sql sandbox..dakle aplikaciju za vježbanje mysql upita..i korisnik upiše upit-naredbu i onda mu se prikaže rezultat..odnosno tablica sa podacima ovisno o query upitu..I problem je što kod insert,update i delete naredbi nema prikaza tablice..naredbe se izvrše, nastane promjena u bazi i sada bih trebao nekako tu promjenu u određenoj tablici prikazati kao rezultat. A da bih to napravio trebam ime tablice na kojoj je izvršen query upit-naredba..
Tako je..pošto imam zadatak napraviti sql sandbox..dakle aplikaciju za vježbanje mysql upita..i korisnik upiše upit-naredbu i onda mu se prikaže rezultat..odnosno tablica sa podacima ovisno o query upitu..I problem je što kod insert,update i delete naredbi nema prikaza tablice..naredbe se izvrše, nastane promjena u bazi i sada bih trebao nekako tu promjenu u određenoj tablici prikazati kao rezultat. A da bih to napravio trebam ime tablice na kojoj je izvršen query upit-naredba..
Relacija koju dobijes ne mora nuzno imati ime. Sto kad dobijes ovakav upit:
SELECT student.ime, student.prezime, predmet.ocjena
FROM student JOIN predmet ON student.jmbag = predmet.jmbag;
Rezultat takvog upita ce biti treca (privremena) relacija nastala spajanjem dviju trajnih relacija i ona nema nikakvo ime.
Problem je u tome da kada korisnik unese neki query upit sa INSERT naredbom..ona se izvrši al nema prikaza..i moram prikazati pomoću SELECT te tablice na kojoj je napravljen query upit, zato mi treba ime tablice iz INSERT upita
Problem je u tome da kada korisnik unese neki query upit sa INSERT naredbom..ona se izvrši al nema prikaza..i moram prikazati pomoću SELECT te tablice na kojoj je napravljen query upit, zato mi treba ime tablice iz INSERT upita
Pa s obzirom da je sintaksa INSERT-a INSERT INTO table VALUES ... onda samo pokupi ovaj "table" iz upita. Doduse ne mogu ti previse pomoci s implementacijom jer ne radim s PHP-om, a i ne znam kako si zamislio parsiranje upita. Vjerojatno PHP ima neke funkcije za parsiranje koje bi ti mogle pomoci.
E upravo o tome i govorim..treba mi taj "table"..samo kako doći do njega..to me zanima ako netko zna
E upravo o tome i govorim..treba mi taj "table"..samo kako doći do njega..to me zanima ako netko zna
Minuta guglanja i dosao sam do ovoga. Ovako nabrzinu pogledano kao prvo rjesenje za oko mi je zapela funkcija explode(). "table" ce ti uvijek biti u arrayu na indeksu 2.
Ne baš uvijek, ali za INSERT i DELETE - praktično uvijek. Kod UPDATE je ime tablice na indeksu broj 1. Najčešće.
Osim ako neki šaljivdžija ne ubaci komentare u upit...
Ma za prvu ruku je dobro. Valjda ce nesto dalje smisliti sam.
Hvala Vam puno! :)
Kad rastaviš taj array sa SQL kodom, onda samo ifom provjeri je li npr a[0] = DELETE, INSERT, SELECT ili šta već i ovisno o tom zadaj da je varijabla koja sadrži ime tabele bude a[2], a[1] ili kako već...
Kako se može usporediti neki string koji korisnik unese sa nekim podatkom iz tablice iz baze?...podatak iz tablice se izvadi pomoću querya, ali onda ne znam kako da usporedim..pokušao sam sa funkcijom strcmp() međutim ne radi kako treba..??
Kako se može usporediti neki string koji korisnik unese sa nekim podatkom iz tablice iz baze?...podatak iz tablice se izvadi pomoću querya, ali onda ne znam kako da usporedim..pokušao sam sa funkcijom strcmp() međutim ne radi kako treba..??
Kako ne radi?
Funkcija strcmp vraća int tip, vrati 0 ako su jednaki.
Možeš i preko poredbenog operatora ==.
Kako se može usporediti neki string koji korisnik unese sa nekim podatkom iz tablice iz baze?...podatak iz tablice se izvadi pomoću querya, ali onda ne znam kako da usporedim..pokušao sam sa funkcijom strcmp() međutim ne radi kako treba..??
Kako ne radi?
Funkcija strcmp vraća int tip, vrati 0 ako su jednaki.
Možeš i preko poredbenog operatora ==.
Da da to je sve ok..međutim strcmp() radi dobro ako napišem u kodu dva stringa sa istim tekstom i usporedim ih..dobijem 0..ali ako korisnik unese isti tekst koji se nalazi isto u bazi i pokušam usporediti korisnikov unos sa tekstom iz baze, uvijek mi izbaci 1..a tekstovi su isti..