Unosa podataka u bazu sastoji od dva koraka: prvi je prikupljanje podataka kroz formu, a drugi pohrana tih podataka u bazi.
Za unos podataka koristimo INSERT naredbu.
Kao što već znate sve SQL naredbe počinju nazivom naredbe. Nakon toga smo koristili INTO prije imena tablice u koju želimo pohraniti podatke. Također, važno je napomenuti da su imena baza, tablica i polja osjetljiva na veličinu slova (case sensitive).
VALUES- njome naznačujemo da slijedi lista vrijednosti koja se pohranjuje u tablicu.
Važno je opaziti neuobičajen način pisanja datuma. Format slovima bi bio GGGG-MM-DD i zbog toga datum mora biti ispravnog oblika jer datum 1989-12-9 neće proći zbog toga što datumu nedostaje druga znamenka: nula. Ovo pravilo isto vrijedi i za mjesece.
Forma za unos podataka:
<html>
<head>
<title>Unos vijesti</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<h1>Unos vijesti</h1>
<hr>
<?
if (!$_POST["SBunos"])
{
?>
<form method="post" action="">
Naslov : <input type="text" name="naslov"><br />
Tekst : <textarea name="tekst"></textarea><br />
<input type="submit" name="SBunos" value="Pohrani">
</form>
<?
} else {
include "spoj.php";
$datum=date("Y-m-d");
$SQL="INSERT INTO vijesti (naslov, tekst, datum)
VALUES ('$_POST[naslov]', '$_POST[tekst]', '$datum')";
if (mysql_query($SQL))
{
echo "Novost je uspješno pohranjena";
} else {
echo "Novost nije pohranjena"<br />" . mysql_error();
}
}
?>
</body>
</html>
Važno:
-ovo je kodna stranica našeg dokumenta (encoding). Važno je da koristite uvijek jedan isti encoding kroz sve dokumente projekta da bi izbjegli probleme.
mysql_query() -funkcija prima dva argumenta: prvi je string podatak koji je obavezan i sadrži neki upit, dok je drugi neobavezan. Kod INSERT upita ova funkcija vraća true ako je uspješan obavljen ili false ako nije uspješno obavljen. Ako nije uspješno obavljen moguće su greške:
-sintaktičke prirode: nešto je krivo napisano u samom SQL upitu
-tehničke prirode: nešto se dogodilo sa MySQL serverom ili vezom na njega ili je korisnik u formu upisao neki nedozvoljen znak.
mysql_error() -funkcija pomoću koje ispisujemo grešku.