PhpMyAdmin
Otavan Opiston Av-wiki
MySQL on suosittu ja yksinkertaisissa tehtävissä tehokas tietokannan hallintajärjestelmä. MySQL:ää kehittää ruotsalainen yritys MySQL AB. MySQL-tietokannan loivat vuonna 1995 suomalainen Michael Widenius yhdessä ruotsalaisen David Axmarkin kanssa. MySQL:n ensimmäinen versio julkaistiin 1996. MySQL on saatavissa vapaalla GNU GPL -lisenssillä tai kaupallisella lisenssillä.
Monista kaupallisista tietokantajärjestelmistä poiketen MySQL:n hallinnointi tapahtuu komentoriviltä tai tekstipohjaisella asiakasohjelmalla. Sille on tosin valmistajan sivulta saatavat graafiset MySQL Administrator ja MySQL Query Browser. Webpalvelimelle on myös saatavilla phpMyAdmin. Aikaisempina vuosina MySQL:ää on karsastettu varsinkin ammattilaispiireissä sen vajavaisuuksien, kuten esimerkiksi transaktioiden sekä aitojen vierasavaimien puutteen takia, mutta nykyään MySQL on kirinnyt eroa kiinni ja vajavaisuudet ovat vähentyneet.
Sisällysluettelo |
[muokkaa] Käyttäjän lisääminen
Lisäämme käyttäjän eli ensimmäiseksi paikkaan: http://localhost/ Varmista, että WAMP-server on käynnissä. Suunnista kohtaan "Tools"
Tavoitteen päästä tuonne: http://localhost/phpmyadmin/ Sivun alalaidasta löytyy kohta "Käyttöoikeudet"
Napsauta "Lisää uusi käyttäjä"
Sitten täytellään tiedot
Luodaan lisäksi saman tien saman niminen tietokanta
Paina lopuksi painiketta "Siirry"
[muokkaa] Taulun luominen
CREATE TABLE `vieraskirja` ( `Id` int(11) NOT NULL auto_increment, `Otsikko` varchar(100) NOT NULL, `Viesti` longtext NOT NULL, `Ip` varchar(100) default NULL, `Pvm` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, UNIQUE KEY `Id` (`Id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
[muokkaa] Yhdistäminen tietokantaan
<?php // Avataan tietokantayhteys $yhteys = mysql_connect( "localhost", "kissa", "kissa" )or die("Tietokantaan ei saatu yhteyttä "); // valitaan tietokanta mysql_select_db("kissa", $yhteys ) OR die("Ongelmia tietokannan valinnassa"); ?>
[muokkaa] Tietojen selaaminen
<?php include 'tiedot.php'; // Suoritetaan SQL-lause $tulos = mysql_query("SELECT * FROM vieraskirja order by pvm desc;") OR die("Jokin mättää! SQL-lause ei pelitä."); // Käydään tulosjoukko läpi rivi kerrallaan while ( $rivi = mysql_fetch_array($tulos) ) { $otsikko = $rivi["Otsikko"]; $viesti = $rivi["Viesti"]; $pvm = $rivi["Pvm"]; $viesti = str_replace("<", "<", $viesti); $viesti = str_replace(">", ">", $viesti); $viesti = str_replace("\n", "<br />\n", $viesti); $viesti = str_replace("paska", "*****", $viesti); print("<b>".$otsikko. "</b><br />"); print($viesti. "<br />"); print date("d.m.Y", strtotime($pvm)); print("<hr />"); } // suljetaan yhteys mysql_close( $yhteys ) OR die("Jokin mättää. Yhteyden sulkeminen ei onnistu"); ?>
[muokkaa] Tietojen lisääminen
Ensin lomake
<form method="post" action="lisaa.php"> Tämä vuosi lukuina: <BR><input name="extrafield" type="text" size="20"><BR> Otsikko: <BR><input name="otsikko" type="text" size="60"><BR> Viesti: <BR><TEXTAREA NAME="viesti" COLS=50 ROWS=5 wrap="virtual"></TEXTAREA><BR> <input type="submit" value="lisää"><BR> </form>
Sitten itse php
<?php // muuttuja, joka kerää virheet talteen $errors = array(); // tarkistaa onko otsikko if (!$_POST["otsikko"]) $errors[] = "- otsikko"; // tarkistaa viestin sisällön if (!$_POST["viesti"]) $errors[] = "- viesti"; if($_POST["extrafield"] != "2008") $errors[] = "Tämä vuosi numeroina. Emme halua robottien lisäilevän tietoja, siksi tämä kompa."; // Jos virheitä, ilmestyy seuraavat tiedot if (count($errors)>0){ echo ""; echo "<h2>Täytä kaikki tiedot</h2><br /><br />"; foreach($errors as $fel) echo " $fel <br /><br />"; echo "<br />Täytä tiedot ja lähetä lomake uudestaan <br /><br /><br /><br /><br />"; echo "<a href='javascript:history.go(-1)'>« takaisin lomakkeeseen</a>"; } else { //Käsitellään lomake $otsikko = $_POST["otsikko"]; $viesti = $_POST["viesti"]; include 'tiedot.php'; //Suoritetaan SQL-lause $lause = "insert into vieraskirja (Otsikko, Viesti, Ip) values ('$otsikko','$viesti','$ip');"; $tulos=mysql_query($lause,$yhteys); if ($tulos) { // Jos ok print("
LISÄYS SUORITETTU"); } else { // Jos meni pieleen print("Jokin mättää: lisäys ei onnistu!"); } //Suljetaan yhteus mysql_close($yhteys); } ?>
Äskeiseen saa mukaan IP:n jos tiedoston alkuun kirjoittaa
<body> <?php $ip=getenv("REMOTE_ADDR"); ?>
[muokkaa] Tietojen poistaminen
<?php include 'tiedot.php'; if(!empty($_POST['Id'])) { $Id = $_POST['Id']; $del = "DELETE FROM vieraskirja WHERE Id = $Id"; mysql_query($del) or die("Poistaminen epäonnistui!"); print("Viesti poistettiin...<p/>"); } ?> <form method="POST" action="poista_vieras.php"> <select name="Id"> print("<option value =0 selected="selected">Valitse poistettava viesti</option>"); <?php $hae = "SELECT* FROM vieraskirja order by Pvm"; $tulos = mysql_query($hae) or die("Jokin mättää, SQL-lause sekoilee!"); while($rivi = mysql_fetch_array($tulos)) print("<option value=" . $rivi["Id"] . ">" . $rivi["Otsikko"] . " / " . $rivi["Pvm"] . "<option>"); mysql_free_result($tulos); //Suljetaan yhteys mysql_close($yhteys); ?> </select> <input type="submit" value="Poista viesti"> </form>
Luokat: PHP | PHP-kurssi