Mine sisusse
Otsi siit
  • Rohkem valikuid...
Otsi tulemusi mis sisaldab...
Otsi tulemusi...

Otsi Vahvlist

Kuvatakse tulemused sildile ''andmebaasiga''.

  • Otsing siltide järgi

    Sisesta sildid eraldades komadega.
  • Otsing autori järgi

Sisu tüüp


Foorumid

  • Vahvel.Net
    • Uuendused & Tähtsad teated
    • Kampaaniad & Loosimised
    • Tööpakkumised
    • Tagasiside
  • Meelelahutus
    • Pubi
    • Meedia
    • Isikuteemad
    • Haridus
    • Sport
    • Pokker
    • Küsimused ja vastused
    • Foorumi meelelahutused
    • Puhkus ja reisimine
  • Infotehnoloogia
    • Tehnika/Seadmed
    • Äriblogid
    • Programmeerimine
    • Krüptorahad
    • Andmeside
  • Mängud
    • Counter-Strike
    • Minecraft
    • Runescape
    • GTA V
    • GTA San Andreas Multiplayer
    • League of Legends
    • Mängud üldine
  • Kunstinurk
  • Varia
  • Vahvel.net's Teemad
  • RuneScape's Klubi foorum
  • Debt Collectors's Liitumine
  • Debt Collectors's Foorum
  • Debt Collectors's Clani info

Blogi

Tulemused puuduvad.

Tulemused puuduvad.

Kalendrid

  • Community Calendar
  • RuneScape's Klubi sündmused
  • Debt Collectors's Üritused

Kategooriad

  • Loosimised
  • Tasuta äraandmised
  • Vahvel.Net
  • Vahvel.net's Loosimised
  • RuneScape's Klubi loosimised

Kategooriad

  • Moderaatorid
  • Mänguserveri haldurid

Kategooriad

  • Elektroonika
    • Arvutid ja IT- tehnika
    • Mobiiltelefonid ja lisatarvikud
    • Foto- ja videokaamerad
    • Kodutehnika
  • Sõidukid
    • Autod
    • Autoosad ja tarvikud
    • Mopeedautod, Mopeedid, Mootorrattad, ATV-d, Mootorsaanid
    • Mototehnika osad ja tarvikud
    • Veesõidukid
    • Veesõidukite osad ja tarvikud
    • Põllu- ja metsatehnika
    • Põllu- ja metsatehnika osad ja tarvikud
    • Veoautod, bussid, eriotstarbelised
    • Veoautod, bussid, eriotstarbelised osad ja tarvikud
    • Üldehitus
    • Tööriistad, ehitusseadmed
  • Kinnisvara
    • Korterid
    • Majad
    • Maa/krundid
    • Ärikinnisvara
    • Garaažid
    • Kinnisvara välismaal
  • Kodu
    • Mööbel
    • Kodutehnika
  • Ehitus
    • Üldehitus
    • Tööriistad, ehitusseadmed
  • Garderoob, stiil ja ilu
  • Lastekaubad
  • Vaba aeg
  • Koduloomad
  • Töö ja äri
  • RuneScape's Klubi pood

Kategooriad

  • Õpetlikud videod
  • Striimid
    • Youtube
    • Twitch
  • Naljad ja vembud
  • Mänguvideod
    • Counter-Strike Global Offensive
    • GTA 5
    • GTA 6
    • RuneScape
    • League of Legends
    • Dayz
  • Filmitreilerid
    • 2020 a. filmid
  • Muu

Otsi tulemusi...

Otsi tulemusi mis sisaldab...


Loomise kuupäev

  • Start

    End


Viimati uuendatud

  • Start

    End


Filter by number of...

Liitunud

  • Start

    End


Group


Minust


Asukoht


Hobid


Elukutse


Veebileht


MSN


SKYPE

Leitud 1 tulemus

  1. Kahjuks paljud inimesed vaatavad W3Schools õpetusi ja üldiselt vanasi õpetusi mis ei ole enam tänapäevased ja võivad teha lehele rohkem kahju kui kasu. Rääkimata sellest, et see on sulle endale raskem kui kasutada uuemaid viise. Üks kõige tähtsamaid osasi PHPs on andmebaasiga ühendus, samuti on see üks kõige halvemini õpetatud osa kus paljud ise õppinud inimesed teevad vigu ja kasutavad aegunud meetodeid. Nagu näiteks nii: mysql_connect('localhost', 'username', 'password') or die('Ei saanud ühendust: ' . mysql_error()); mysql_select_db('mingidb') or die('Ei saanud valida andmebaasi.'); $query = "SELECT * from mingitabel"; $result = mysql_query($query) or die('Päring ebaõnnestus: ' . mysql_error()); while ($row = mysql_fetch_object($result)) { echo $row->nimi; } See on vana, sa ei saa vahetada andmebaasi mootoreid ja see on väga haavatav kui sa ei kontrolli põhjalikult kasutaja sisestusi. Mida selle asemel kasutada? PDO ehk PHP Data Objects. See toetab enamusi andmebaasi tüüpe ja ta pakub võimalust kasutada ettevalmistatud päringuid mis hoiab ära SQL injection rünnakud. Kuidas luua ühendust? Kui sa enne kasutasid: mysql_connect('localhost', 'username', 'password') or die('Ei saanud ühendust: ' . mysql_error()); Siis nüüd kasutad sa: $conn = new PDO('mysql:host=localhost;dbname=mingidb', $username, $password); See algne string ei ole midagi rasket, me ütleme mis andmebaasi me kasutame(mysql:), ja kuidas sinna ühenduda.(host=localhost;dbname=mingidb). Järgnevad kasutajanimi ja parool. Kui me peaksime kunagi tahtma muuta oma andmebaasi mootorit siis piisab ainult 'mysql' muutmisest millegiks muuks. ('sqlite') Vigade püüdmine try { $conn = new PDO('mysql:host=localhost;dbname=mingidb', $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } Vea tekkimisel ta nüüd teatab sellest. Algselt on see PDO::ERRMODE_SILENT, millega ta ei näita ühtegi viga ühendumisel. Siis piisab vigade näitamiseks sellest: echo $conn->errorCode(); echo $conn->errorInfo(); Andmete saamine Esimene viis: Query $name = 'Henry'; try { $conn = new PDO('mysql:host=localhost;dbname=mingidb', $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $data = $conn->query('SELECT * FROM mingitabel WHERE name = ' . $conn->quote($name)); foreach($data as $row) { print_r($row); } } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } Nagu te näete siis siin peab veel ise kasutajapoolse sisestuse puhastama kasutades PDO::quote mis on võrdväärne mysql_real_escape_string funktsiooniga. Seda viisi on soovitatav kasutada siis kui sa ei lisa päringule kasutaja sisestust. Teine viis: Ettevalmistatud päringud $id = 5;try { $conn = new PDO('mysql:host=localhost;dbname=mingidb', $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare('SELECT * FROM mingitabel WHERE id = :id'); $stmt->execute(array('id' => $id)); while($row = $stmt->fetch()) { print_r($row); } } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } Me kasutame PDO::prepare meetodit, et valmistada päring ette. See hoiab ära igasuguse SQL rünnaku kuna me ei lisa andmeid otse päringusse. Andmete lisamiseks kasutame kohahoidjat ":id", on lubatud ka "?" kui siis on hiljem raske saada aru mis asi on kus. Hiljem päringu täitmisel me lisame juurde selle kohahoidja väärtuse: $stmt->execute(array('id' => $id)); Lubatud on ka: $stmt->bindParam(':id', $id, PDO::PARAM_INT);$stmt->execute(); See annab paremat kontrolli andmete üle ja hoiab SQL rünnakud veel kaugemal kontrollides väärtuse tüüpi. Tulemusi on võimalik saada tagasi mitmel viisil: while($row = $stmt->fetch(PDO::FETCH_OBJ)) { print_r($row); } PDO::FETCH_ASSOC tagastab massiivi. PDO::FETCH_BOTH tagastab massiivi nii tulba nimega kui ka indeksiga. PDO::FETCH_OBJ tagastab objekti mille väärtuste nimed ja väärtused on vastavad tulpadele. PDO::FETCH_CLASS tagastab uue klassi Kuidas saada teada kas päring tagastas tulemusi? if ( count($result) ) { foreach($result as $row) { print_r($row); } } else { echo "Ei ole tulemusi."; } Mitu päringut try { $conn = new PDO('mysql:host=localhost;dbname=mingidb', $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare('INSERT INTO mingitabel VALUES(:name)'); $stmt->bindParam(':name', $name); $name = 'Henry'; $stmt->execute(); $name = 'Sander'; $stmt->execute(); } catch(PDOException $e) { echo $e->getMessage(); } Kui päring on ettevalmistatud võib seda kasutada mitu korda muutes eri väärtusi. CRUD - Create-Update-Delete Create - Insert try { $pdo = new PDO('mysql:host=localhost;dbname=mingidb', $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare('INSERT INTO mingitabel VALUES(:name)'); $stmt->execute(array( ':name' => 'Justin Bieber' )); echo $stmt->rowCount(); // tagastab 1 } catch(PDOException $e) { echo 'Viga: ' . $e->getMessage(); } Update $id = 5;$name = "Henry"; try { $pdo = new PDO('mysql:host=localhost;dbname=mingidb', $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare('UPDATE mingitabel SET name = :name WHERE id = :id'); $stmt->execute(array( ':id' => $id, ':name' => $name )); echo $stmt->rowCount(); // 1 } catch(PDOException $e) { echo 'Viga: ' . $e->getMessage(); } Delete $id = 5; try { $pdo = new PDO('mysql:host=localhost;dbname=mingidb', $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare('DELETE FROM mingitabel WHERE id = :id'); $stmt->bindParam(':id', $id); $stmt->execute(); echo $stmt->rowCount(); // 1 } catch(PDOException $e) { echo 'Viga: ' . $e->getMessage(); } Klassid ja Objektid class Kasutaja { public $eesnimi; public $perekonnanimi; public function nimi() { return $this->eesnimi . ' ' . $this->perekonnanimi; } } try { $pdo = new PDO('mysql:host=localhost;dbname=mingidb', $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $result = $pdo->query('SELECT * FROM mingitabel'); $result->setFetchMode(PDO::FETCH_CLASS, 'Kasutaja'); while($user = $result->fetch()) { echo $user->nimi(); } } catch(PDOException $e) { echo 'Viga: ' . $e->getMessage(); } Loodetavasti need kes siiani kasutasid aegunud viise muudavad ennast ja mõistavad kui palju parem on kasutada PDOd ja näevad milliseid uusi võimalusi see pakub. Vabandused kui millegist ei saa aru, eesti keelest inglise keelde tõlkimine on raske kui oled harjunud koodima inglise keeles ja kasutama väljendeid inglise keeles. Õpetuse tegin selle õpetuse baasil. Henry, Vahvel.Net
×
×
  • Loo uus...

Oluline informatsioon

Selle veebisaidi paremaks muutmiseks oleme teie seadmesse paigutanud küpsised . Võite kohandada oma küpsiste seadeid , vastasel juhul eeldame, et te olete küpsiste kasutamisega nõus kui jätkate veebisaidil sirvimist.. Palun lugege läbi Kasutustingimused ja Privaatsuspoliitika.