Autorius Tema: Klaida neatnaujina db.  (Skaityta 458 kartus)

eXpire

  • Svečias
Klaida neatnaujina db.
« Įrašytas: 2012-08-24 00:09:52 am »
Šektiek streikuoja scriptas tai atnaujina tai neatnaujina duombazes, gal kas iš gerai besigaudančiu galit patikrint kas blogai, ir kaip optimizuot kodą? :)

<?php
 
 echo "Sveikas $username<p>";
 //
$query "SELECT * FROM users WHERE username='$username'";
    
$result mysql_query($query);
    
$win mysql_result($result,'0','win');
$lose mysql_result($result,'0','lose');
$rt $win $lose;
echo"Mano reitingas "$rt;
echo "<br>Laimejau "$win"<br>Pralaimejau "$lose"<hr>";
//
echo"<center><h3>Zaidimas atspek skaiciu<br>Turite atspeti skaiciu irase ji i laukeli ir paspaude bandyti speti, busite perkeltas 
i kita puslapi ir suzinosite savo rezultata.</h3></center><hr/>"
;
 echo 
" <form action='members.php' method='post'>
 Jusu skaicius.
<input type='text' name='skaicius' />
<input type='submit' name='submit' value='Bandyti atspeti' />
 </form>
 <p>"
;
 
@
$number mt_rand (1,10);
@$spej $_REQUEST["skaicius"]; {
$win="";
$lose="";
 
////////////////////////////////////////////////////////////////
if (isset($_POST['submit'])) { 
/////////////////////////////////////////////////////////////////////
if ($number==$spej){
$win++;
echo"Sveikiname jus atspejote skaiciu : $number ir gavote +1 win taška ir pasikelete reitinga";
$query "UPDATE users SET win=$win WHERE username='$username'";
mysql_query($query);
}
elseif ($number!=$spej
$lose++;
echo"Deja nepasiseke praradote gavote 1 lose taska ir praradote reitingo";
$query "UPDATE users SET lose=$lose WHERE username='$username'";
mysql_query($query);
}
else {
}

}
<?

ačiū :)
« Paskutinį kartą keitė: 2012-08-24 00:43:13 am sukūrė eXpire »

Neprisijungęs Gintas Kovalevskis

  • Dalyvis
  • **
  • Įrašai: 418
  • Karma: +15/-0
    • Žiūrėti profilį
    • Asmeninis portfolio
Ats: Klaida neatnaujina db.
« Atsakymas #1 Įrašytas: 2012-08-24 06:46:07 am »
Ne escape'ini kintamųjų, tai turbūt dėl to neatnaujina.  Kas liečia optimizavimą, tai geriausias variantas imti naudot mysqli modulį, jis kur kas greitesnis už SQL, o darbą su juo labai palengvina klasė MeekroDB.

Nori ir tu tokio paveiksliuko? Apsilankyk FeedMage puslapyje

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Klaida neatnaujina db.
« Atsakymas #2 Įrašytas: 2012-08-24 07:11:18 am »
$query = "UPDATE users SET lose=$lose WHERE username='$username'";

sitoje ir kitose uzklausose neescapeinai $username pvz, $lose, tai cia tavo vidinis kintamasis, bet username speju paduoda vartotojas, tai gali jis paduoti ka tik nori ir ko tu tik nesitiki :)
o jei nori pamatyti kaip veikia ORM, siulau pabandyti doctrine'a http://www.doctrine-project.org/ galesi pamirsti apie visokius kintamuju escapeinimus :)

Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

eXpire

  • Svečias
Ats: Klaida neatnaujina db.
« Atsakymas #3 Įrašytas: 2012-08-24 09:51:54 am »
o kaip galima butu sutvarkyti toki? ;)

Manualai.lt Forumas

Ats: Klaida neatnaujina db.
« Atsakymas #3 Įrašytas: 2012-08-24 09:51:54 am »

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Klaida neatnaujina db.
« Atsakymas #4 Įrašytas: 2012-08-24 10:00:11 am »
o kaip galima butu sutvarkyti toki? ;)


<?php
$username 
mysql_real_escape_string($username);
$query "UPDATE users SET lose=$lose WHERE username='$username'";
?>


beja, mysql sita funkcija jau yra siuloma nenaudoti, bet nezinau, man rodos gerai ir su ja, as pats dazniausiai naudoju koki duombaziu valdymo scripta ne savo rasyta (pvz doctrine'a) ir nesigilinu i tokius dalykus :)

http://php.net/manual/en/function.mysql-real-escape-string.php
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

eXpire

  • Svečias
Ats: Klaida neatnaujina db.
« Atsakymas #5 Įrašytas: 2012-08-24 10:30:49 am »
Žinok nereaguoja, jis man pakeičia tik iki 1 nuo nulio o poto jau nebejuda ;/

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Klaida neatnaujina db.
« Atsakymas #6 Įrašytas: 2012-08-24 10:49:11 am »
Žinok nereaguoja, jis man pakeičia tik iki 1 nuo nulio o poto jau nebejuda ;/

paeksportuok lenteles struktura
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

eXpire

  • Svečias
Ats: Klaida neatnaujina db.
« Atsakymas #7 Įrašytas: 2012-08-24 11:12:59 am »
Aš neesu labai pakalęs php ir sql srityje, tai nežinau, ką tai reiškia. :D

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: Klaida neatnaujina db.
« Atsakymas #8 Įrašytas: 2012-08-24 11:17:43 am »
Pasijungi į savo phpmyadmin, pasirenki lentelę ir ekportuoji duomenis

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Klaida neatnaujina db.
« Atsakymas #9 Įrašytas: 2012-08-24 11:45:58 am »
Aš neesu labai pakalęs php ir sql srityje, tai nežinau, ką tai reiškia. :D

gali siek tiek skirtis phpmyadmin nuo versijos, taciau realiai tas pats, tai paziurek prideta paveiksleli:

Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Manualai.lt Forumas

Ats: Klaida neatnaujina db.
« Atsakymas #9 Įrašytas: 2012-08-24 11:45:58 am »