[ Miro Spiro @ 02.05.2011. 13:06 ] @
Pozdrav svima

Imam jedan problem pa se nadam da mi mozete pomoci.Naime radi se o primjeru iz knjige PHP i MySQL Razvoj aplikacija za Web. Dosao sam do dijela kada se treba napraviti MySQL baza i povezati sa aplikacijom.

Posto imam na računaru podignut XAMPP nije mi bio problem pomocu PHPMY admina da kreiram novu bazu i unesem podatke iz primjera . Nakon toga u php kodu promijenio sam korisničko ime i lozinku ( posto sa onim iz primjera nije islo mada sam napravio novog korisnika) nije mogao da se nakaci na bazu.Problem sam rijesio pomocu googla.Naime kazu da ima neki bug u XAMPP u zbog kojeg u localhostu nece da radi ako se ima aktivirana lozinka i novi korisnik vec samo sa defaultom "root"


Nakon toga je sve proradilo ALI kad u pretragu ukucam knjigu ili pisca ne nalazi mi nista u bazi kaze 0 found. Drugi PHP kod sluzi za unos novih knjiga u bazu i kad sam unio nesto bezzveze kao proba fino je pohranjeno i izbaci poruku da je unesena novi proizvod ali pri pretrazi opet ne nalazi nista.


Ovo je kod pretrage ali ne znam gdje je problem jer trebalo bi da nadje u bazi te podatke a sama baza fino radi.

<html>
<head>
<title>Book-O-Rama Search Results</title>
</head>
<body>
<h1>Book-O-Rama Search Results</h1>
<?php
// create short variable names
$searchtype=$_POST['searchtype'];
$searchterm=trim($_POST['searchterm']);

if (!$searchtype || !$searchterm) {
echo 'You have not entered search details. Please go back and try again.';
exit;
}

if (!get_magic_quotes_gpc()){
$searchtype = addslashes($searchtype);
$searchterm = addslashes($searchterm);
}

@ $db = new mysqli('localhost', 'root', '', 'books');

if (mysqli_connect_errno()) {
echo 'Error: Could not connect to database. Please try again later.';
exit;
}

$query = "select * from books where ".$searchtype." like '%".$searchterm."%'";
$result = $db->query($query);

$num_results = $result->num_rows;

echo "<p>Number of books found: ".$num_results."</p>";

for ($i=0; $i <$num_results; $i++) {
$row = $result->fetch_assoc();
echo "<p><strong>".($i+1).". Title: ";
echo htmlspecialchars(stripslashes($row['title']));
echo "</strong><br />Author: ";
echo stripslashes($row['author']);
echo "<br />ISBN: ";
echo stripslashes($row['isbn']);
echo "<br />Price: ";
echo stripslashes($row['price']);
echo "</p>";
}

$result->free();
$db->close();

?>
</body>
</html>


Unaprijed hvala na pomoci
[ Br@nkoR @ 03.05.2011. 09:45 ] @
Proveri pomoću phpMyAdmina da li uopšte ima podataka u tabeli, takođe pokušaj da query izvršiš u phpMyAdmin-u. Proveri da li forma šalje podatke do ovog fajla, štampanjem $_POST niza.
[ Miro Spiro @ 04.05.2011. 12:39 ] @
Probao sam sa PHPMyadmin-om i izgleda nema nista u tabeli zato nista ni ne vidi ,isto sam probao i sa queryem i isto nema nista 0 u tabeli da li da sada probam rucno da unesem podatke pa da testiram onda ovaj kod da vidim hoce li ista onda naci.

Unaprijed hvala
[ Br@nkoR @ 04.05.2011. 13:27 ] @
Probaj.
Proveri i da li gledaš pravu bazi i tabelu, da nisi slučajno podatke ubacio u neku drugu bazu ili tabelu.
[ Miro Spiro @ 08.05.2011. 18:41 ] @
Provjerio sam da li gledam dobru bazu i nažalost nista to je ta baza "books" koju sam i gledao.

Da bi izbjegao problem sa skriptom za unos (tj da isključim njenu neispravnost) pokusao sam rucno da unesem u bazu informaciju o knjizi u tablici book. Nakon sto unesem naziv i pritisnem kreni izbaci sljedece.

Umetnuto redaka: 1.
Warning: #1366 Incorrect integer value: '' for column 'ISBN' at row 1
Warning: #1366 Incorrect integer value: '' for column 'Author' at row 1
Warning: #1366 Incorrect integer value: 'Java 2 for Professional Developers' for column 'Title' at row 1
Warning: #1366 Incorrect integer value: '' for column 'Price' at row 1


Da li ja nesto pogresno unosim ili je neki drugi problem. Pretraživao sam mysql grešku u FAQ-u ali su odgovori malo kontradiktorni.

Da li da ispustim bazu i generišem novu pa opet jos jednom step by step da nisam nesto izostavio a koliko vidim sama skripta za pretragu radi ali za ovu za unos ne znam stvarno sta je problem.


Unaprijed hvala
[ Br@nkoR @ 08.05.2011. 20:26 ] @
Greška je u tipu kolona te tabele, sve su integer tipa, a ti pokušavaš da ubaciš drugi tip, pokušaj pomoću phpMyAdmin-a da promeniš u odgovarajuće, ili u krajnjem slučaju izbriši tabelu pa napravi novu, pogledaj u toj knjizi da li ima nešto o tipovima kolona za tu bazu.

Pozdrav.
[ Miro Spiro @ 08.05.2011. 22:36 ] @
Ma problem je u tome sto sama knjiga nije pisana pomocu XAMPP-a tj. primjeri nisu prilagođeni. (kreiranje baze itd)

Sve je pisano pod "ručnom" konfiguracijom Apacha, PHP-a i MySQL-a. Ja sam imao problema sa konfiguracijom PHP-a iz uputstva knjige.Na kraju sam uspio da napravim da radi PHP i Apache ( uz pomoc elitesecurity-a) ali mi konfiguracionu tabelu MySQL-a nije nikako vidio.

Tada sam pokusao sa XAMPP-om i uspio. Probao sam jos jednom prije i sa XAMPP-om i WAMPP-om ali nije htio da radi zato jer je kod mene 64 bitni Windows. Ali uz malo googlanja i muckanja mozga je proradio.

Sada je sve bilo uredu dok nisam dosao do dijela sa mysql-om. Poglavlje o slanju automatskih emailova ja mislim da necu nikada savladati da uspije da proradi kad me najbanalniji problem zeza.

Najvjerovatnije sam pogrijesio u određivanju tipa kolone ali izbrisati cu cijelu bazu i onda ponovo sve jednom jos polako iz knjige preraditi pa vidjeti hocu li uspjeti. Uglavnom javiti cu hoce li biti napredka ili ne.


P.S

Hvala na pomoci sto se trudite da mi pomognete i jos jednom hvala.
[ Br@nkoR @ 09.05.2011. 09:22 ] @
Zdravo,
nema na čemu. Drugo, nema potrebe za persiranjem, nisam ja toliko star :).

Nikada nisam koristio te all-in-one distribucije (WAMP, XAMPP i druge) uvek sam sve instalirao "ručno", dovoljno je samo ono što piše u "read me" fajlovima, mada danas php, apache, mysql dolaze uz installer-e pa se instaliraju uz par klikova mišem.

Ne vidim u čemu se razlikuju skripte koje se pokreću pod XAMPP-om ili "ručno" instaliranim serverom. Jedino što je moguće da je u toj knjizi, upotreba MySQL-a objašnjena kroz konzolu (komandnu liniju), što je po meni mnogo bolje na početku kako bi se bolje upoznao sa samom sintaksom, upotrebom, mogućnostima MySQL-a, a kasnije ćeš sam izabrati sebi odgovarajući MySQL client (phpMyAdmin, MySQL Workbench, HeidiSQL ...) koji će ti olakšati, ubrzati... rad. Upotreba MySQL kroz komandnu liniju je moguća i kod instaliranja iste pomoću XAMPP-a, još jednom napominjem da nikada nisam koristio te all-in-one distrubucije pa ne znam kakve su mogućnosti istih, ali ne vidim razliku u čemu bi se razlikovalo od ručno instaliranja svega što dolazi npr. uz XAMPP.

Pozdrav.
[ Br@nkoR @ 09.05.2011. 14:34 ] @
XAMPP je program koji ti instalira PHP, MySQL, Apache i mail server da ne bi ti morao rucno da instaliras i podesavas svaki program posebno.
Ti bazu radis u MySQL i bez obzira kako instalirao i preko cega instalirao bazu ti radis na istoj bazi. Radis na MySQL bazi.
Isto vazi za PHP. PHP kod ti mora biti uvek isti i baza mora uvek ista biti.
XAMPP je pomocno program koji ti pomogne da instaliras sve za minut i sve ti sam podesi na neke default vrednosti sto bi ti inace morao da podesavas.

Ove greske koje ti se javljaju pogotovo nemaju veze da li je XAMPP ili nije.

Jos dok ti niko nije bio odgovorio hteo sam te pitati da li ti samo prekucavas primere, pokrenesi ides na sledeci ili analiziras red po red?
Da li shvatas svaki red sto je napisan?
Da li si uzeo neku knjigu kao "PHP za 21" pa si bukvalno poceo da prelazis po jedno poglavlje svaki dan?

Trebao bi kada procitas neko poglavlje i procitas primer da pokusas sam da napravis taj primer a ne da ga prekucas.
[ Br@nkoR @ 09.05.2011. 14:48 ] @
XAMPP je program koji ti instalira PHP, MySQL, Apache i mail server da ne bi ti morao rucno da instaliras i podesavas svaki program posebno.
Ti bazu radis u MySQL i bez obzira kako instalirao i preko cega instalirao bazu ti radis na istoj bazi. Radis na MySQL bazi.
Isto vazi za PHP. PHP kod ti mora biti uvek isti i baza mora uvek ista biti.
XAMPP je pomocno program koji ti pomogne da instaliras sve za minut i sve ti sam podesi na neke default vrednosti sto bi ti inace morao da podesavas.

Ove greske koje ti se javljaju pogotovo nemaju veze da li je XAMPP ili nije.

Jos dok ti niko nije bio odgovorio hteo sam te pitati da li ti samo prekucavas primere, pokrenesi ides na sledeci ili analiziras red po red?
Da li shvatas svaki red sto je napisan?
Da li si uzeo neku knjigu kao "PHP za 21" pa si bukvalno poceo da prelazis po jedno poglavlje svaki dan?

Trebao bi kada procitas neko poglavlje i procitas primer da pokusas sam da napravis taj primer a ne da ga prekucas.
[ Br@nkoR @ 09.05.2011. 14:53 ] @
XAMPP je program koji ti instalira PHP, MySQL, Apache i mail server da ne bi ti morao rucno da instaliras i podesavas svaki program posebno.
Ti bazu radis u MySQL i bez obzira kako instalirao i preko cega instalirao bazu ti radis na istoj bazi. Radis na MySQL bazi.
Isto vazi za PHP. PHP kod ti mora biti uvek isti i baza mora uvek ista biti.
XAMPP je pomocno program koji ti pomogne da instaliras sve za minut i sve ti sam podesi na neke default vrednosti sto bi ti inace morao da podesavas.

Ove greske koje ti se javljaju pogotovo nemaju veze da li je XAMPP ili nije.

Jos dok ti niko nije bio odgovorio hteo sam te pitati da li ti samo prekucavas primere, pokrenesi ides na sledeci ili analiziras red po red?
Da li shvatas svaki red sto je napisan?
Da li si uzeo neku knjigu kao "PHP za 21" pa si bukvalno poceo da prelazis po jedno poglavlje svaki dan?

Trebao bi kada procitas neko poglavlje i procitas primer da pokusas sam da napravis taj primer a ne da ga prekucas.
[ Miro Spiro @ 10.05.2011. 21:28 ] @
Ovako svaki kod pisem sam na racunaru i analiziram i podvlacim olovkom u knjizi vazne stvari

Knjgu sam uzeo prosle godine i temeljno je prelazim i evo koliko sam do sada dogurao jer ne radim svaki dan vec kad stignem zbog obaveza na fakultetu.

Sto se tice XAMPP-a znam da je to samo automatska instalacija i da je to isto ko "klasicni " nacin instalacije ali neki primjeri mnogo lakse idu kad se ne moras zezati oko nekih banalnih stvari npr da primjer nece da radi ako ima na bazi pasword u localhostu itd.

Jednostavno vrlo malo primjera proradi iz prve sto je razumljivo ali ne prorade oni zbog greske u kodu vec zbog podesavanja samog sucelja ili samog poglavlja jer su neke stvari npr "malo "drugacije napisane to jest njihova implementacija je urađena na drugi nacin .

Svi primjeri rade fino kad je samo stvar PHP-a ali kad treba sinergija PHP-a MySQL -a itd onda krene belaj po listama gresaka a na kraju se ustanovi da je problem samo u postavka tj konfiguraciji XAMPP-a.

Pozdrav i hvala na savjetima
[ VladaSu @ 10.05.2011. 21:58 ] @
Ova greska ti nije bila zbog podesvanja ili passworda vec zbog pogresnog odabira tipa kolone.
Citat:
Miro Spiro
Jednostavno vrlo malo primjera proradi iz prve sto je razumljivo ali ne prorade oni zbog greske u kodu vec zbog podesavanja samog sucelja ili samog poglavlja jer su neke stvari npr "malo "drugacije napisane to jest njihova implementacija je urađena na drugi nacin.


Jednostavno ne mogu da poverujem da primer nece da ti radi ako si instalirao php i mysql i ako odradis i prepises primer bez greske i eventulano promenis user name i password za bazu.
Kao sto rekoh, ovo sto si do sada naveo nije ti bio problem do instalacije vec samo do tebe jer nisi dobro ispratio primer u knjizi.
[ Miro Spiro @ 10.05.2011. 22:23 ] @
Znam nisam ni rekao da je problem u primjeru vec u meni zato cu ponovo sve protabiriti i step by step ponovo pokusati .

A sto se tice greske znam da nema veze nego sam htio da vidim u cemu je problem tj gdje grijesim.


Jos jednom hvala na pomoci i na POZITIVNIM KRITIKAMA.
[ GMarco24 @ 24.05.2011. 04:42 ] @
Znam o kojoj knjizi je rec, jer jos uvek ucim iz nje. Ipak, ja toplo preporucujem (mada se izvinjavam ako to na forumu nije dozvoljeno) prvo da prodjes HeadFirst PHP&MySQL, jer je mnoooooogo jednostavnija i prostija za ucenje tih osnovnih stvari. A ta knjiga koju imas ce kasnije doci kao odlican nastavak da nadjes sve sto nema ovamo. Mnogi je preporucuju, tako da sigurno nije losa, ali nije koncepirana za pocetnike, vec je odlicna za nekog ko vec zna nesto o php-u ili bar dobro vlada drugim programskim jezicima.

Pozz