Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki,

 

Noriu tarkim irayti kazka i duomenu baze, bet noriu, kad neirasytu jeigu toj lentelej toks laukas yra tokios reiksmes kaip patikrinti?

<?
$query = "SELECT * FROM tavo_lentele where laukelis = '$kintamasis'"; 
$result = mysql_query($query);
$ar_yra_toks_laukas = mysql_num_rows($result);
if($ar_yra_toks_laukas > 0) {
echo "Toks laukelis jau ivestas duomenu bazeje";
}
else {

echo 'Tokio laukelio neradome duomenu bazeje';

}
?>

 

kažkas tokio :D

Redagavo xstream
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Lentelėje įrašai turi turėti unikalias reikšmes, dažniausiai tai būna ID, bet tavo atveju pvz. tu įrašai email, tau reikia pirma padaryti SELECT

 

SELECT count(*) FROM table WHERE email = "{$email}"

 

Šitas SQL grąžins skaičių kiek yra rasta email pagal $email.

 

Tada darai "if" sąlygą jei aukščiau įvykdyta SQL grąžina daugiau nei 0, tada INSERT nedaryti.

 

Paskaičiuoti kiek yra rezultatų naudok count(*) jis vidutiniškai 7% greičiau veikia, kitas dalykas nekopijuok aukščiau ęsančio posto, naudok mysqli arba pasiimti kokį nors pagalbinį įrankį kaip pvz.: PHP MySQL library that lets you get more done with fewer lines of code

 

Kadangi turiu laiko parašysiu kaip toks variantas atrodytu naudojant MeecroDB bibliotką.

 

1. įtraukiama biblioteką

require_once 'meekrodb.2.3.class.php';

 

2. nusistatome prisijungimus prie Mysql

DB::$user = 'my_database_user';
DB::$password = 'my_database_password';
DB::$dbName = 'my_database_name';

 

3. Viskas dabar jau galima naudoti visus statinius metodus DB:: pvz.: tavo atvejis:

// Selectas
// email=%s tai yra patikrinimas, kad tavo $email kintamasis turi būti string. Tuo pačių yra atliekama filtraciją neleistinų simbolių.
DB::query("SELECT * FROM accounts WHERE email=%s", $email);

// Rezultatas (int) duomenų tipas
$counter = DB::count();

if ($counter == 0 ) {

   DB::insert('user', array(
     'username' => $name,
     'password' => $pass,
     'email' => $email
   ));

}

 

Visa dokumentacija metodų: http://meekro.com/docs.php

Redagavo Prodev
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Lentelėje įrašai turi turėti unikalias reikšmes, dažniausiai tai būna ID, bet tavo atveju pvz. tu įrašai email, tau reikia pirma padaryti SELECT

 

SELECT count(*) FROM table WHERE email = "{$email}"

 

Šitas SQL grąžins skaičių kiek yra rasta email pagal $email.

 

Tada darai "if" sąlygą jei aukščiau įvykdyta SQL grąžina daugiau nei 0, tada INSERT nedaryti.

 

Paskaičiuoti kiek yra rezultatų naudok count(*) jis vidutiniškai 7% greičiau veikia, kitas dalykas nekopijuok aukščiau ęsančio posto, naudok mysqli arba pasiimti kokį nors pagalbinį įrankį kaip pvz.: PHP MySQL library that lets you get more done with fewer lines of code

 

Kadangi turiu laiko parašysiu kaip toks variantas atrodytu naudojant MeecroDB bibliotką.

 

1. įtraukiama biblioteką

require_once 'meekrodb.2.3.class.php';

 

2. nusistatome prisijungimus prie Mysql

DB::$user = 'my_database_user';
DB::$password = 'my_database_password';
DB::$dbName = 'my_database_name';

 

3. Viskas dabar jau galima naudoti visus statinius metodus DB:: pvz.: tavo atvejis:

// Selectas
DB::query("SELECT * FROM accounts WHERE email=%s", $email);

// Rezultatas (int) duomenų tipas
$counter = DB::count();

if ($counter == 0 ) {

   DB::insert('user', array(
     'username' => $name,
     'password' => $pass,
     'email' => $email
   ));

}

 

Visa dokumentacija metodų: http://meekro.com/docs.php

Mysql jau atgyvenęs, nesaugus standartas, tačiau naujokui paprasčiau suprantamas. Šiaip PDO geriausia naudoti :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Mysql jau atgyvenęs, nesaugus standartas, tačiau naujokui paprasčiau suprantamas. Šiaip PDO geriausia naudoti :)

Tai yra ne joks ne standartas o extensionas mysql ir ne atgyvenęs, o realiai depreceted ir removed, jo ne tik kad nepatartina naudoti, bet negalima jau dabar.

Redagavo Prodev
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na taip šaunuolis, tik prieš rašant reikia pagooglinti, o ne po to, ne taip kvailai atrodys.

nebesvaik :D pats ir googlink jei tau reikia. Net kodo pats nesugebi parašyt, iš googles ištrauki :) Pirmam poste paminėjau jog atgyvenęs, prisipisai dėl to, antram poste parašiau atgyvenęs rašai šaunuolis :D

 

 

ką čia suvaidint bandai?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

nebesvaik :D pats ir googlink jei tau reikia. Net kodo pats nesugebi parašyt, iš googles ištrauki :) Pirmam poste paminėjau jog atgyvenęs, prisipisai dėl to, antram poste parašiau atgyvenęs rašai šaunuolis :D

 

 

ką čia suvaidint bandai?

Tai buvo ironija.

Nežinojau, kad google rezultatuose galima kodo snipetus rasti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Sukurti naują...