• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datenbank ertsllen - Wo ist der Fehler?

Status
Für weitere Antworten geschlossen.

Mars@Gera

Mitglied
datenbank erstellen:

PHP:
error_reporting(E_ALL);
  include '../inc/config.php';
  // Konfigurationsdatei laden
  @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
  $sql CREATE DATABASE `News` ;
Ist das denn falsch?
Bzw. wo, geht nämlich nicht!
 
PHP:
error_reporting(E_ALL);
  include '../inc/config.php';
  // Konfigurationsdatei laden
  @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
  $sql = "CREATE DATABASE `News` "; 
  mysql_query($sql) or die(mysql_error());
 
Gut danke, so, habe dieconfig-datei so gemacht das es localhost ist usw. nur leider sehe ich jetzt nciht in phpmyadmin, diese erstelle News-Tabelle!

Woran liegt das?

Marcel
 
Wenn du phpMyAdmin hast, wieso versuchst du dann per Hand eine Tabelle / Datenbank zu erstellen?
 
XraYSoLo: das ist auch keine tabelle sondern eine datenbank, wo du jetzt tabellen 'reinmachen kannst.


Meinte Ja datenbank!

Commodore: Wenn du phpMyAdmin hast, wieso versuchst du dann per Hand eine Tabelle / Datenbank zu erstellen?

Weil ich es nciht auf dem Server habe!

marcel

Edit//
Es geht, so muss mich jetzt schlau machen wie ich diese datenbank eie Tabelle mache ^^

Greez Marcel

Habe mich nochmal hingesetzt, aber es geht irgendwie nicht!

PHP:
<?php
error_reporting(E_ALL);
  include '../inc/config.php';
  // Konfigurationsdatei laden
  @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
  $sql = "CREATE DATABASE `Verein` ";
  mysql_query($sql) or die(mysql_error());
CREATE TABLE IF NOT EXISTS `News`
{
`ID` INT AUTO_INCREMENT PRIMARY KEY,
`Titel` VARCHAR(30),
`Autor` VARCHAR(30),
`Email` VARCHAR(30),
`Hmepage` VARCHAR(30),
`Inhalt` TEXT,
`Datum` DATETIME
}
?>

Kann mir jemand diesen Code berichtigen?

Marcel
 
Zuletzt bearbeitet von einem Moderator:
Du musst das schon in ne Abfrage (Query) packen, sonst gehts nicht.
PHP:
<?php
  $qry = '
    CREATE TABLE IF NOT EXISTS `News` ( 
      `ID` INT AUTO_INCREMENT PRIMARY KEY, 
      `Titel` VARCHAR(30), 
      `Autor` VARCHAR(30), 
      `Email` VARCHAR(30), 
      `Hmepage` VARCHAR(30), 
      `Inhalt` TEXT, 
      `Datum` DATETIME 
    );
  ';
  mysql_query($qry) OR die(mysql_error());
?>
 
Du musst aber nicht bei jedem mal eine neue Datenbank anlegen, das machst du nur einmal ;)
 
Du musst das schon in ne Abfrage (Query) packen, sonst gehts nicht.
PHP:
<?php
  $qry = '
    CREATE TABLE IF NOT EXISTS `News` ( 
      `ID` INT AUTO_INCREMENT PRIMARY KEY, 
      `Titel` VARCHAR(30), 
      `Autor` VARCHAR(30), 
      `Email` VARCHAR(30), 
      `Hmepage` VARCHAR(30), 
      `Inhalt` TEXT, 
      `Datum` DATETIME 
    );
  ';
  mysql_query($qry) OR die(mysql_error());
?>

da bringt er das!
Code:
You have an error in your SQL syntax near '; ' at line 10

muss ich bestimmt was machen wegen der Klammer oder
Zeile 9,10,11 bei mir!

PHP:
$qry = '
    CREATE TABLE IF NOT EXISTS `News` (
      `ID` INT AUTO_INCREMENT PRIMARY KEY,

Du musst aber nicht bei jedem mal eine neue Datenbank anlegen, das machst du nur einmal ;)

Weiss ich, aber muss es ja testen wegen Server teste zur zeit alles auf local!
 
Es geht um Zeile 10 in der Abfrage ( ");" ). Nimm das ';' da raus, das is mir da wohl versehentlich "reingerutscht" ;)
 
Wenn ich mich nicht arg täusche muss immer wenn auf die Datenbank zugegriffen werden soll vorher mysql_connect() und mysql_select_db() ausgeführt werden, ja.
 
Warum wird das doppelt in die Datenbank eingeschrieben?

PHP:
<?php
include('.../inc/config.php');
 
@mysql_select_db('Verein') OR die('Keine Verbindung');
 
$Titel=$_POST["Titel"];
$Autor=$_POST["Autor"];
$Homepage=$_POST["Homepage"];
$Email=$_POST["Email"];
$Inhalt=$_POST["Inhalt"];
 
$eintrag="INSERT INTO `news` (`Titel`,`Autor`,`Email`,`Hoempage`,`Inhalt`) VALUES`'$Titel','$Autor','$Email','$Homepage','$Inhalt')";
 
$eintragen = mysql_query($eintrag);
mysql_query($eintrag) OR die(mysql_error());
?>

Marcel
 
Weil du den Query zweimal abschickst:

PHP:
//Falsch:
$eintragen = mysql_query($eintrag);
mysql_query($eintrag) OR die(mysql_error());

//Richtig:
$eintrage = mysql_query($eintrag) OR die(mysql_error());

btw: Lern am besten direkt deine Querys ordentlich einzuruecken:
PHP:
$qry = "INSERT INTO `news`
           (`Titel`,
            `Autor`,
            `Email`,
            `Hoempage`,
            `Inhalt`) 
        VALUES
           ('$Titel',
            '$Autor',
            '$Email',
            '$Homepage',
            '$Inhalt')
:arrow: #php/QuakeNet Tutorial - MySQL-Querys einrücken


Und wenn du Usereingaben in eine DB schreibst, dann immer [phpnet]mysql_real_escape_string[/phpnet] benutzen :!:
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben