CREATE datei -> datenbank

sorashi

Mitglied
Hi, folgendes Problem.
Für eine install.php exportiere ich eine Datenbankstruktur von einem Script halt.

PHP:
# phpMyAdmin SQL Dump
# version 2.5.3
# http://www.phpmyadmin.net
#
# Host: localhost
# Generation Time: Feb 24, 2004 at 11:23
# Server version: 4.0.16
# PHP Version: 4.3.4
#
# Database : news
#

# --------------------------------------------------------

#
# Table structure for table news_admins
#

CREATE TABLE news_admins (
  id int(11) NOT NULL auto_increment,
  name varchar(25) NOT NULL default '',
  email varchar(25) NOT NULL default '',
USW.

so nun tu ich das in eine Datei (database.sql)
Jo, und mit der install will ich diese Struktur eben in eine Datenbank schreiben. Hab das so gelöst:

PHP:
   $fp=fopen("./database.sql","rb");
   $query=fread($fp, filesize("./database.sql"));
   fclose($fp);
   
   mysql_query($query);

doch es passiert nichts, keine Fehlermeldung, nix.
was ist mein Fehler
 
Versuchs mal etwas Umfangreicher damit Du sehen kannst wo der Fehler auftritt. Aber eigentlich sollte der Code einen Eintrag in die DB vornehmen:

PHP:
include("connect_sql.php");

$verbindung = @mysql_connect($mysqlserver, $mysqluser, $mysqlpass) 
   or die("Konnte keine Verbindung zum Datenbankserver aufbauen!"); 
 
$selectdb = @mysql_select_db($mysqldb, $verbindung)            
   or die("Konnte die Datenbank <b>$mysqldb</b> nicht auswählen!"); 

$create = "CREATE TABLE news_admins ( 
  id int(11) NOT NULL auto_increment, 
  name varchar(25) NOT NULL default, 
  email varchar(25) NOT NULL default,
  PRIMARY KEY (id))";
	
echo $create. "<br><br><span style=\"color: #FFCC00;\">Abgeschlossen!<br>Bitte die install_sql.php aus dem Verzeichnis löschen</span>";	
$add = mysql_query($create, $verbindung) or die(mysql_error());

Einfach mal testen! :-)
 
Na, das kannst du auch einfacher haben!

Deine Query ist falsch!
Du hast zwar "default" bei name und email geschrieben, denen aber keine Werte zugewiesen!
Das müsste also so aussehen:

PHP:
$create = "CREATE TABLE news_admins ( 
  id int(11) NOT NULL auto_increment, 
  name varchar(25) NOT NULL default 'wert', 
  email varchar(25) NOT NULL default 'wert', 
  PRIMARY KEY (id))";

Du hast 'wert' (was natürlich nur einen Platzhalter darstellen soll) vergessen, oder aber die 'default'-Angaben sind unnötig!
 
Stimmt, hab ich übersehen! Aber wer braucht auch schon default - Standarteinstellung bei einem Namen der Email!? :)
 
Zurück