joomla_antivirus_logo

Autor Tema: Kako da insertiram u bazu?  (Posjeta: 2456 )

0 Članova i 1 Gost pregledava ovu temu.

erbi

  • Ozbiljan forumaš
  • ****
  • Postova: 368
  • Karma: 0
    • Profil
    • Radio Tomi
Kako da insertiram u bazu?
« : 13. Listopad 2012, 17:44 »
Stavio sam jedan kod i neče mi ispravno radit. Ako uradim ovako:
$sSql = "INSERT INTO #__card_status_history(".
"operator, ".
"request_id, ".
"user_id, ".
"date, ".
"time, ".
"status ";
$sSql = $sSql.") VALUES(".
"'".$operator."',".
"'".$resource."',".
"'".$user_id."',".
"'".$startdate."',".
"'".$starttime."',".
"'".$request_status."'";
$sSql = $sSql.")";
$database->setQuery($sSql);
Šta ovdje nije Ok, da insert ne radi? Ništa ne ide u bazu...
« Zadnja izmjena: 13. Listopad 2012, 19:01 erbi »

Dario

  • Global Moderator
  • *****
  • Postova: 1.037
  • Karma: 26
  • Web/Joomla Developer
    • Profil
    • dBlaze
Odg: Kako da insertiram u bazu?
« Odgovori #1 : 15. Listopad 2012, 08:46 »
Neznam da li si instanciral JFactory objekt prije pokušavanje insertanja u bazu, uglavnom ovo bi trebalo radit ako su ti imena tablica dobra.... Ako se ništa ne događa, upali se "display_errors" i "error_reporting" stavi na "E_ALL"  u php.ini datoteci.... Ili pogledaj u serverskom error log-u o čemu se radi.. .uglavnom bilo koje od ova dva bi ti trebala dati nekakvo objašnjene zašto se ne zapisuje...

$database = & JFactory::getDBO();
$sSql = "INSERT INTO #__card_status_history(" .
        "operator, " .
        "request_id, " .
        "user_id, " .
        "date, " .
        "time, " .
        "status ";
$sSql = $sSql . ") VALUES(" .
        "'" . $operator . "'," .
        "'" . $resource . "'," .
        "'" . $user_id . "'," .
        "'" . $startdate . "'," .
        "'" . $starttime . "'," .
        "'" . $request_status . "'";
$sSql = $sSql . ")";
$database->setQuery($sSql);
---
Molim da mi ne šaljete privatne poruke sa zahtjevima za pomoć, takve poruke ignoriram - zato služi forum :)
2b || !2b; this.question();
http://www.dblaze.eu

erbi

  • Ozbiljan forumaš
  • ****
  • Postova: 368
  • Karma: 0
    • Profil
    • Radio Tomi
Odg: Kako da insertiram u bazu?
« Odgovori #2 : 15. Listopad 2012, 10:46 »
Nikako ne radi, nema ni nikakvog errora. Ako stavim echo &sSql dobijem:
INSERT INTO #__card_status_history(operator, request_id, user_id, date, time, status ) VALUES('238','4','323','2012-10-15','08:35:51','accepted')a record ne ide u bazu.
U bazi ide samo ako na početku stavim:
$database->setQuery("LOCK TABLES #__card_status_history WRITE");
if(!$database->query()){
echo "Unable to LOCK tables";
exit;
}
Al onda na monitoru ne pokazuje podataka, koji su bili spremljeni u jednu tabelu iznad ove npr:
Pozdrav, Ime i prezime, vaša debetna kartica broj .....

erbi

  • Ozbiljan forumaš
  • ****
  • Postova: 368
  • Karma: 0
    • Profil
    • Radio Tomi
Odg: Kako da insertiram u bazu?
« Odgovori #3 : 18. Listopad 2012, 12:03 »
Ovo još nisam uspio, da bi proradilo. Šta uradi:
$database->setQuery($sSql);a šta:
$database->query();Ako stavim ovo drugo, upiše mi u tablicu, al se mi srušijo jedni podaci, koji su potrebni za skripta radi dalje.

Dario

  • Global Moderator
  • *****
  • Postova: 1.037
  • Karma: 26
  • Web/Joomla Developer
    • Profil
    • dBlaze
Odg: Kako da insertiram u bazu?
« Odgovori #4 : 18. Listopad 2012, 12:25 »
$database->setQuery($sSql) "stavlja izvršavanje na odgodu", odnosno dodaje query u que, a $database->query(); izvršava trenutni que koji je dodan ovom prvom metodom....
---
Molim da mi ne šaljete privatne poruke sa zahtjevima za pomoć, takve poruke ignoriram - zato služi forum :)
2b || !2b; this.question();
http://www.dblaze.eu

erbi

  • Ozbiljan forumaš
  • ****
  • Postova: 368
  • Karma: 0
    • Profil
    • Radio Tomi
Odg: Kako da insertiram u bazu?
« Odgovori #5 : 18. Listopad 2012, 12:32 »
Hvala Dario, al nemam pojma. Sad znam manje kao prije, a prije nisam znao ništa ... :)

Dario

  • Global Moderator
  • *****
  • Postova: 1.037
  • Karma: 26
  • Web/Joomla Developer
    • Profil
    • dBlaze
Odg: Kako da insertiram u bazu?
« Odgovori #6 : 18. Listopad 2012, 12:38 »
Znači da na kraj ovog koda koji si zalijeio u prvom postu samo dodaj još
$database->query();

Ti si u gornjem kodu sastavio query i dodao ga na "listu čekanja" za izvršavanje, ali ta metoda sama za sebe ne predstavlja ništa ako ju ne izvršiš, a $database->query(); upravo to radi.
---
Molim da mi ne šaljete privatne poruke sa zahtjevima za pomoć, takve poruke ignoriram - zato služi forum :)
2b || !2b; this.question();
http://www.dblaze.eu

erbi

  • Ozbiljan forumaš
  • ****
  • Postova: 368
  • Karma: 0
    • Profil
    • Radio Tomi
Odg: Kako da insertiram u bazu?
« Odgovori #7 : 18. Listopad 2012, 12:43 »
A, sad mi je jasno. Sad moram samo pronači, zašto se mi podaci, koju su iznad ovog mojeg upišu u jednu tabelu i onda ako stavim ovo se upišu i u moju, al se sruši neki podaci. Funkcija koja sljedi upotrebljava neke parametre, al tih po tom uopšte nema više.

Dario

  • Global Moderator
  • *****
  • Postova: 1.037
  • Karma: 26
  • Web/Joomla Developer
    • Profil
    • dBlaze
Odg: Kako da insertiram u bazu?
« Odgovori #8 : 18. Listopad 2012, 13:32 »
Kao što rekoh.... sa $database->setQuery(); dodaješ query u que... dakle u trenutno kad ti se izvrši prvi zapis u bazu, zapisuje se samo prvi query....
Nakon toga ti dodaješ svoj query sa $database->setQuery($sSql) i time u que dodaješ i svoje podatke, dakle sad imaš dva seta podataka koji se upisuju....

Lijepo si napravi print_r da vidiš kaj se sve nalazi u setQuery(), naravno ako je moguće - nisam nikad proučavao to, ali pretpostavljam da zapisuje que-ove u array pa vidi... Ako je tako onda probaj unset-at ovaj prvi query nakon izvrašavnja.... Moraš mal odebugirati  :)
---
Molim da mi ne šaljete privatne poruke sa zahtjevima za pomoć, takve poruke ignoriram - zato služi forum :)
2b || !2b; this.question();
http://www.dblaze.eu

 

joomla_antivirus_logo
anything