• 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!
 
Werbung:
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());
 
Werbung:
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?
 
Werbung:
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 ;)
 
Werbung:
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" ;)
 
Werbung:
PHP:
@mysql_select_db('Verein') OR die('Kann keine Verbindung zur Datenbank herstellen');
 
Yes dankeschön!

Und wenn ich jetzt extern aus einemFormular was in diese schreiben will, muss ich das auch davor setzen oder?
 
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.
 
Werbung:
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 :!:
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben