Die Grundlagen von MYSQL/PHP

xXxJulianxXx

New member
PHP


  1. Wie erstelle ich eine *.PHP -Datei ?
  2. Wie speicher ich Daten in einer Variable?
  3. Wie gebe ich eine Variable/ Text aus ?


MYSQL

  1. Wie erstelle ich eine Verbindung zur Datenbank ?
  2. Wie erstelle ich eine MYSQL Datenbank ?
  3. Wie füge ich der Datenbank, Tabellen zu ?
  4. Wie bekomm ich da jetzt Inhalt rein ?
  5. Wie kann ich den Inhalt wiedergeben ?


Zum schluss hab ich noch ein einfaches Gästebuch für euch.
-scroll dafür ganz nach unten.

__________________________________________


PHP

Wie erstelle ich eine *.PHP -Datei ?


Du brauch nur einen Texteditor,
ich selber benutze .

Am Anfang der PHP-Datei kommt..
PHP:
 <?
Zum schluss kommt noch einmal..
PHP:
?>


Wie speicher ich Daten in einer Variable?


PHP:
$alter = 14;                                  //Hier wird die Zahl 14 in die Variable $alter gespeichert
$text = "Ich bin ".$alter." Jahre alt"      //machen wir jetzt "echo $text;", kommt "Ich bin 14 Jahre alt" raus
Wie gebe ich eine Variable/ Text aus ?

PHP:
echo "Ich bin ein Text";                    //Ein ganz normaler Text      
echo $alter;                                //Eine Variable
echo "Ich bin".$alter." Jahre alt";         //Ein Text, eine Variable und wieder ein Text

_______________________________________


MYSQL

Wie erstelle ich eine Verbindung zur Datenbank ?

PHP:
$dbname="....";                        //Hier kommt der Datenbankname rein.
$dbhost="....";                        //Hier der Hoster, z.b. "http://mysql1.000webhost.com/"
$dbbenutzername="....";                //Hier der Benutzername.
$dbpasswort="....";                    //Jetzt fehlt nur noch das Passwort.
mysql_connect($dbhost,$dbbenutzername,$dbpasswort);
mysql_select_db($dbname);
Wie erstelle ich eine MYSQL Datenbank ?
PHP:
mysql_query('CREATE DATABASE test_datenbank');  

//Wir erstellen eine Datenbank, benennen sie "test_datenbank"


Wie füge ich der Datenbank, Tabellen zu ?

PHP:
mysql_query('CREATE TABLE `test` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` TEXT NOT NULL ,
`email` TEXT NULL ) 
ENGINE = MYISAM ;');  

// Jetzt erstellen wir eine Tabelle die "test" heißt.
// Sie hat 3 Spalten, id, name, email.
// Die ID ist hier ein Integer und wir automatisch ausgefüllt.
// Der Name und die Email ist hier ein TEXT.

Wie bekomm ich da jetzt Inhalt rein ?

PHP:
mysql_query('INSERT INTO `test`
  ( 
  `name` ,
  `email` 
  ) 
  VALUES
  (
  "Julian",
  "[email protected]"
  )');  

// Wir fügen jetzt den Name Julian in die Spalte name.
// In die Spalte email kommt [email protected].
Wie kann ich den Inhalt wiedergeben ?

PHP:
$query = mysql_query("SELECT * FROM test ORDER BY id ASC");
// Mit "ORDER BY" wird die ausgabe sortiert, hier nach der ID
// DESC ist absteigend(z.b 987654321/cba)
// ASC ist aufsteigend(z.b 123456789/abc)
// ASC ist Standard.
// Wenn ihr nur bestimme Zeilen ausgeben wollt, z.b. mit den Name Julian dann sieht es so aus..
// $query = mysql_query("SELECT * FROM test WHERE name="Julian" ORDER BY id ASC");
// Wenn ihr nur eine bestimme Anzahl an Zeilen haben wollt, geht es so..
//$query = mysql_query("SELECT * FROM test Limit 1");
while($zeile = mysql_fetch_array($query))
{
echo "ID: ".$zeile[id]."| Name: ".$zeile[name]."| Email: ".$zeile[email]."<br>";
}
Das Ergebnis sieht so aus.
ID: 1| Name: Julian| Email: [email protected]
ID: 2| Name: Test| Email: [email protected]
Das Gästebuch

-Als erstes erstellen wir eine neue Datenbank.

PHP:
mysql_query('CREATE DATABASE gaestebuch');
-Jetzt erstellen wir eine neue Tabelle mit 4 Spalten.
PHP:
$datenbankhost="....";
$datenbankbenutzername="....";
$datenbankpasswort="....";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_query("CREATE TABLE `pcmtut`.`gaestebuch` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` TEXT NOT NULL ,
`text` TEXT NOT NULL ,
`datum` TIME NOT NULL
) ENGINE = MYISAM ;");
Hier ist das Komplette Gästebuch.
PHP:
<form action='#' method='post'>
Name
<br>
<input name='name' type='text' size='40' maxlength='50'>
<br>
<br>
Text
<br>
<textarea name='text' cols='30' rows='5'></textarea>
<br>
<br>
<input name='submit' type='submit' value=' Absenden '>
<br>
</form>


<?
$dbname="gaestebuch";                        
$dbhost="";                       
$dbbenutzername="";                
$dbpasswort="";    
mysql_connect($dbhost,$dbbenutzername,$dbpasswort);
mysql_select_db($dbname);  

if(isset($_POST[submit]))
{
if($_POST[name] == "" OR $_POST[text] == "")
{
echo "<h1 style=\"color:white;background-color:red;font-size:18;width:300px;\">Fülle die Felder bitte vollständig aus!</h1>";
}
else
{
$datum = time();
mysql_query("INSERT INTO gaestebuch (name, text, datum) VALUES ('$_POST[name]', '$_POST[text]', '$datum')");
}
}

$result2 = mysql_query("select * from gaestebuch ORDER BY id desc");
while ($row = mysql_fetch_array($result2)) 
{
echo "
<fieldset style=\"border:2px solid gray;font-size:14px;\"><legend>".date("d.m.Y - H:i",$row[datum])."</legend>
<br>
".$row[name]."
<hr>
".$row[text]."
</fieldset>
<br>
";
}
?>
 
Zuletzt bearbeitet:
Ist dir super gelungen. Sehr verständlich erklärt.

Vielleicht noch sagen wo man den Code hinschreiben soll und wie speichern.
Wissen viele nicht.
Lg JuL
 
Zuletzt bearbeitet:
Sieht alles sehr schön aus und es ist bestimmt alles richtig, aber für jemanden wie mich der zwar was davon gehört hat und mit Sicherheit nicht begriffstutzig ist, eher unverständlich.

Rein aus Interesse fände ich es schön wenn du erläutern könntest was es eigentlich ist und was man damit macht! 😉 Ich könnte mir aus den Codes bestimmt was zusammenschustern aber die einzelnen Wörter und ihre Funktion kenne ich einfach nicht.
 
Sehr schön! 🙂

Nur wenn ich dein Muster Gästebuch test erscheint mir folgendes:

Code:
[B] Warning[/B]:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in [B]/var/kunden/webs/web3650/spaceplay/index.php[/B] on line [B]39 [/B]

( )

 
hmja... schonmal drangedacht, was passiert, wenn einer folgende Daten hinschickt:

$_POST[name]=" '); DROP DATABASE `gaestebuch` ";
(is vermutlich nich ganz richtig, aber du verstehst das Problem hoffentlich trotzdem...)

Kannst gerne mal ausprobieren 😉 und hinterher mal das Thema PREPARE nachlesen (bzw escape, aber prepare sollte sauberer sein).
 

Online-Statistiken

Zurzeit aktive Mitglieder
3
Zurzeit aktive Gäste
35
Besucher gesamt
38

Beliebte Forum-Themen

Zurück
Oben Unten