PhpMyAdmin

Otavan Opiston Av-wiki

Loikkaa: valikkoon, hakuun

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"

Kuva: Phmyadmin 02.gif

Tavoitteen päästä tuonne: http://localhost/phpmyadmin/ Sivun alalaidasta löytyy kohta "Käyttöoikeudet"

Kuva: Phmyadmin 03.gif

Napsauta "Lisää uusi käyttäjä"

Kuva: Phmyadmin 04.gif

Sitten täytellään tiedot

Kuva: Phmyadmin 05.gif

Luodaan lisäksi saman tien saman niminen tietokanta

Kuva: Phmyadmin 06.gif

Paina lopuksi painiketta "Siirry"

Kuva: Phmyadmin 07.gif

Kuva: Phmyadmin 08.gif

[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>