[ ziki @ 24.01.2005. 21:46 ] @
Nikako se ne mogu spojiti s MySQL bazom, i ne znam koji mi je username, password i ime servera, kako to da saznam, totalno sam hendikepiran s programiranjem jer se nikako ne mogu spojiti s bazom. Please HELP!!!
[ broker @ 25.01.2005. 03:25 ] @
Mozda pomogne da pitas administratora tog servera?
[ ziki @ 25.01.2005. 13:34 ] @
To je kod mene doma na kompu, u localhostu mi je folder sa stranicama i unutra sam napravio bazu, ali nikako da se spojim s njom...
[ SmilieBG @ 25.01.2005. 17:13 ] @
Ako si samo 'instalirao' bazu (pod pretpodstavkom da se radi o MySQL), onda se mozes konektovati sa:

host: localhost
user: root
pass: (nista, prazno dakle :))

Preporucujem ti da pogledas na mysql.com kako se prave korisnici i da napravis jednog 'admin' korisnika i da iskljucis root korisnika (odnosno da mu ukines sva prava)...

Poz,
Sale

PS. nisi naveo iz kog programa se povezujes sa bazom?!
[ Mister Big Time @ 26.01.2005. 05:22 ] @
Zasto da ukida root-u privilegije? Ako je lokalni server + client za testiranje nema potrebe.
[ ziki @ 26.01.2005. 13:24 ] @
Napravio sam bazu u MySQL Turbo Manager i spremio je kao guestbook.sql u folder gdje su mi php stranice, to se sve nalazi u localhostu tj. wwwroot. Kôd pišem u Dreamweaveru i namjesti sam da koristi server technology. Ovak izgleda php kôd:
<?
$veza = mysql_connect("localhost", "root");
$baza = mysql_select_db("guestbook", $veza);
mysql_query("INSERT INTO guestbook VALUES(NULL, '".$_GET['ime']."', '".$_GET['email']."', '".$_GET['poruka']."', CURRENT_DATE") or die ('nesto nije uredu');
$Izlaz = mysql_fetch_array();
echo 'sad se bude upisalo u bazu';
?>

i ne radi, pokazuje upozorenja za svaki red kôda.
[ SmilieBG @ 27.01.2005. 10:09 ] @
Ok, nakon pazljivijeg citanja menjam poruku i kazem:

Tvoj code bi trebao ovako da izgleda:

Code:

<?

// svuda dodajem or die(mysql_error()) da bi znao tacno sta je greska!
// mysql mozda ocekuje 3 parametra, prema tome
$veza = mysql_connect("localhost", "root", "") or die(mysql_error());

// biranje baze
$baza = mysql_select_db("guestbook") or die(mysql_error());

// pravimo query (koji stoji solo, pa se tek posle izvrsava
$query = "INSERT INTO guestbook VALUES(NULL, $_GET['ime'], $_GET['email'], $_GET['poruka'], CURRENT_DATE)";

// debug mode (da proveris sam query, skloni comments da bi izvrsio!
// echo "<br>Query is: <b>".$query."</b><br>";

$do = mysql_query($query) or die(mysql_error());

if(!$do)
{
   echo "Podaci su zapisani u bazu!";
}

?>


Ovo ti uopste ne treba:
$Izlaz = mysql_fetch_array();

fetch array sluzi da kada radis SELECT query da 'zapises' rezultat u array da bi posle mogao da ga pregledas...

Elem, to bi *trebalo* da radi. A ti napisi sledeci put i greske koje dobijas!!! One su najvaznije za otklanjanje istih :)

Poz,
Sale

ps2. zasto mi je odgovor ovako "iskrivljeno" prikazan... Imam screenshot ako treba :)

[Ovu poruku je menjao StRiPy dana 29.01.2005. u 01:28 GMT+1]
[ stsung @ 28.01.2005. 23:56 ] @
Pozd.
Citat:

$query = "INSERT INTO guestbook VALUES(NULL, $_GET['ime'], $_GET['email']...

Ovo bih malko da ispravim - nedostaju znaci navoda za 2,3... tekstualni parametar. Znachi umesto $_GET['ime'] treba \"$_GET['ime']\" i tako dalje. Dodatno bi bilo pozheljno koristiti mysql_escape_string (ili po potrebi mysql_real_escape_string) kako query ne bi bio osetljiv na sql injection. U sushtini, sve GET i ostale parametre koji uchestvuju u sql upitu potrebno je prvo pripremiti i sve potrepati u neke nizove, recimo ovako: (ne zamerite na greshkama u kucanju)
Code:

function prepareSqlInput($uinput, $addquotes) {
  if (ini_get('magic_quotes_sybase') == 1) $uinput = str_replace("''", "'", $uinput);
  elseif (get_magic_quotes_gpc() == 1) $uinput = stripcslashes($uinput);
  $uinput = mysql_escaoe_string($uninput);
  if ($addquotes) $uinput = '"' . $uinput . '"';
  return $uinput;
}

Tako da bi sql od gore izgledao : VALUES(NULL, prepareSqlInput($_GET['ime'],true) ...

Svako dobro.
[ SmilieBG @ 29.01.2005. 00:19 ] @
Citat:
Mister Big Time: Zasto da ukida root-u privilegije? Ako je lokalni server + client za testiranje nema potrebe.


Izmedju ostalog: http://www.elitesecurity.org/tema/92302

Poz,
Sale
[ ziki @ 29.01.2005. 19:00 ] @
Sredio sam sve, nije mi MySQL baza bila dobro instalirana, sad mi radi.
Hvala svima.