Forum Doku Wiki Blog

Forumsarchiv 2006, Juli
MySQL Create Table

archivierte Beiträge lesen

  1. (DATENBANK) MySQL Create Table von hubschraubaer, 16. 07. 2006, 16:39

MySQL Create Table

Der folgende Beitrag wurde am 16. 07. 2006, 16:39 Uhr von hubschraubaer veröffentlicht.

Hi!
Ich arbeite mich gerade in PHP und MySQL ein und bin grad beim MySQL-Befehl CREATE TABLE angelangt. Ich habe aber kein verständliches Beispiel gefunden, wie ich diesen Befehl per PHP an MySQL senden kann.

Ich wäre über ein einfaches Beispiel sehr dankbar!

ciao, hubschraubaer

MySQL Create Table

Der folgende Beitrag wurde am 16. 07. 2006, 16:48 Uhr von Dyne veröffentlicht.

> Hi!
> Ich arbeite mich gerade in PHP und MySQL ein und bin grad beim MySQL-Befehl CREATE TABLE angelangt. Ich habe aber kein verständliches Beispiel gefunden, wie ich diesen Befehl per PHP an MySQL senden kann.
>
> Ich wäre über ein einfaches Beispiel sehr dankbar!
>
> ciao, hubschraubaer

Hallo,

generell sendest du per PHP wie folgt an MySQL:

<?

  mysql_query(/*SQL-ABFRAGE*/)

?>

um eine Datenbanktabelle zu erstellen sieht das etwa so aus:

<?

   $sql = "CREATE TABLE {TABELLENNAME} (
{NAME DES ERSTEN FELDES} {DATENTYP DES ERSTEN FELDES}( {LÄNGE DES DATENTYPS} ) ,
{NAME DES ZWEITEN FELDES} {DATENTYP DES ZWEITEN FELDES}( {LÄNGE DES DATENTYPS} ) ,
{NAME DES DRITTEN FELDES} {DATENTYP DES DRITTEN FELDES}( {LÄNGE DES DATENTYPS} )
) TYPE = MYISAM ;";

   mysql_query($sql);

?>

MySQL Create Table

Der folgende Beitrag wurde am 16. 07. 2006, 17:18 Uhr von Ilja veröffentlicht.

yo,

wobei hier die komplette anmeldung bei dem dbms/datenbank und entsprechender handle fehlt. das sollte für ihn auch noch interessant sein.

Ilja

MySQL Create Table

Der folgende Beitrag wurde am 16. 07. 2006, 17:33 Uhr von hubschraubaer veröffentlicht.

Hi!

Also ich habe mir jetzt so ein bisschen Quelltext zusammengestückelt. Aber irgendwo ist ein Fehler. Ich bekomme angezeigt:
Verbindung wurde aufgebaut
No database selected

Hier habe ich mal den Quelltext. Ich habe doch eigentlich die Datenbank "News" ausgewählt, oder? Deswegen verstehe ich nicht, was ich falsch mache.

<?php
error_reporting(E_ALL);

$db_link = mysql_connect("localhost","root","");

    if($db_link) {
        echo "Verbindung wurde aufgebaut<br />\n";
    } else {
        echo "Es konnte keine Verbindung aufgebaut werden";
    }


$sql = "CREATE TABLE News (
    ID     INT,
    Titel  VARCHAR(60),
    Inhalt TEXT,
    Datum  DATETIME,
    Autor VARCHAR(15)
);";
mysql_query($sql);


$putin = "INSERT INTO News
    (Titel,Inhalt,Datum,Autor)
     VALUES
    ('Meine erste News',
     'Dies ist meine erste News. Ich hoffe es kommen noch weiter',
     NOW(),
     'hubschraubaer');";
mysql_query($putin);


$result = "SELECT
                Titel,
                Datum
            FROM
                News
            ORDER BY
                Datum DESC;";
$result = mysql_query($sql) OR die(mysql_error());


    echo "News in der Datenbank:<br />\n";
    while($row = mysql_fetch_assoc($result)) {
        echo $row['Datum']." &gt; ".$row['Titel']."<br />\n";
    }
?>

Wo habe ich hier einen Fehler gemacht, bzw. was kann ich besser machen?

ciao, hubschraubaer

MySQL Create Table

Der folgende Beitrag wurde am 16. 07. 2006, 17:43 Uhr von Dyne veröffentlicht.


> Verbindung wurde aufgebaut
> No database selected


Du musst innerhalb deines Scripts noch eien Datenbank wählen (Beachte den Punkt "DATENBANK AUSWÄHLEN"):

<?

/**** VERBINDUNG HERSTELLEN ****/


// EINSTELLUNGEN
$host = "{DEIN HOST}"; // z.B. localhost
$table = "{DIE DATENBANK}"; // z.B. dein Benutzername bei deinem Anbieter o.Ä.
$user = "{BENUTZERNAME}"; //
$pwd = "{PASSWORT}"; //

// VERBINDUNG HERSTELLEN
// (Das "@" unterdrückt eine eventuelle Fehlermeldung, wenn die Anmeldung fehlschlägt.
// $con_id speichert, falls die Anmeldung erfolgreich war, eine Connection-ID, die du nur zwingend brauchst,
// wenn du mit mehreren Verbindungen in einem Script arbeitest)
$con_id = @mysql_connect($host, $table, $serv_pwd);

// FEHLERAUSWERTUNG
// Falls keine Connection-ID existiert, steht keine Verbindung und eine Fehlermeldung wird ausgegeben.
// mysql_error() liefert den Fehler, den die letzte MySQL-Abfrage zurückgegeben hat.
if (!$con_id) {echo 'Fehler:' . mysql_error(); die();}

// DATENBANK AUSWÄHLEN
// Es muss noch die Datenbank ausgewählt werden, die benutzt werden soll.
// Ergebnis (TRUE oder FALSE) wird in $db_selected gespeichert und wieder zur Fehlerauswertung verwendet.
$db_selected = mysql_select_db($table, $con_id);
if (!$db_selected) {
   die ('Kann Db nicht verwenden : ' . mysql_error());
}


/**** TABELLE ERSTELLEN ****/

$sql = "CREATE TABLE {TABELLENNAME} (
{NAME DES ERSTEN FELDES} {DATENTYP DES ERSTEN FELDES}( {LÄNGE DES DATENTYPS} ) ,
{NAME DES ZWEITEN FELDES} {DATENTYP DES ZWEITEN FELDES}( {LÄNGE DES DATENTYPS} ) ,
{NAME DES DRITTEN FELDES} {DATENTYP DES DRITTEN FELDES}( {LÄNGE DES DATENTYPS} )
) TYPE = MYISAM ;";

mysql_query($sql);

?>

MySQL Create Table

Der folgende Beitrag wurde am 16. 07. 2006, 18:09 Uhr von hubschraubaer veröffentlicht.

Hi!
Vielen Dank für deine ausführliche Antwort.
Es gibt aber noch ein kleines Problem. Ich habe mir XAMPP istalliert und noch nichts geändert, was das Passwort oder sonst irgendwas von MySQL betrifft.
Was muss ich dann bei
  $table
  $user
  $pwd
angeben?

$user wäre doch eigentlich "root" und
$pwd = ""; oder?

Vielen vielen Dank!
ciao, hubschraubaer

MySQL Create Table

Der folgende Beitrag wurde am 16. 07. 2006, 18:15 Uhr von Dyne veröffentlicht.

> Was muss ich dann bei
>   $table
>   $user
>   $pwd
> angeben?
>
> $user wäre doch eigentlich "root" und
> $pwd = ""; oder?

Richtig, nur ob bereits standartmäßig eine Datenbank eingerichtet ist und wie die heißt, weiß ich leider auch nicht auswendig. Vielleicht weiß das ja ein XAMPP-Profi? Wie muss $table belegt werden?

Datenbank bei XAMPP standartmäßig eingerichtet?

Der folgende Beitrag wurde am 16. 07. 2006, 18:21 Uhr von hubschraubaer veröffentlicht.

Hi!

Ist bei XAMPP eine Datenbank standartmäßig eingerichtet? Wenn ja, wie heißt diese? Und wenn nein, wie richte ich diese ein?
Vielen Dank für eure Antworten!

@Dyne: Danke schön für dein Bemühen!

ciao, hubschraubaer

Datenbank bei XAMPP standartmäßig eingerichtet?

Der folgende Beitrag wurde am 16. 07. 2006, 18:47 Uhr von hubschraubaer veröffentlicht.

Hi!

Also ich hab mich gerade mal in PHPmyAdmin gewagt und gesehen, dass es eine Datenbank "test" gibt.
Daraus würde dann dies folgen:

$host = "localhost";
$table = "test";
$user = "root";
$pwd = "";

$con_id = @mysql_connect($host, $table, $serv_pwd);

Ähm, Dyne, du hast vorher das geschrieben:
> $con_id = @mysql_connect($host, $table, $serv_pwd);

muss das nicht $pwd anstatt $serv_pwd, oder ist das etwas anderes?
und muss ich nicht noch einen $user bei @mysql_connect angeben? Oder ist das auch etwas anderes?

ciao, hubschraubaer

MySQL Create Table

Der folgende Beitrag wurde am 16. 07. 2006, 19:36 Uhr von Wilhelm Turtschan veröffentlicht.

habe d'ehre hubschraubaer

> Vielen Dank für deine ausführliche Antwort.
> Es gibt aber noch ein kleines Problem. Ich habe mir XAMPP istalliert und noch nichts geändert, was das Passwort oder sonst irgendwas von MySQL betrifft.

Dann wuerde ich an Deiner Stelle schleunigst den Link "Sicherheitscheck"
auf der Startseite von XAMPP anklicken und dann die Securityseite aufrufen. Dein XAMPP ist sonst offen wie ein Scheunentor - da fehlt zur Freude Anderer dann nur noch die Benutzung eines WLAN. ;-)

man liest sich
Wilhelm

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4