PHP Mysql - Datenbank erstellen wenn nicht vorhanden

son gohan

Erfahrenes Mitglied
Hallo,

ich habe in einer PHP Datei folgenden Code um eine Verbindung zur Datenbank zu machen:

PHP:
$DatabaseHost = "localhost";
$DatabaseUser = "user2";
$DatabasePassword = "10";
$Database = "user2";

$DatabasePointer=mysqli_connect($DatabaseHost,$DatabaseUser,$DatabasePassword,$Database);

Kann ich irgendwo davor oder danach folgenden SQL Code so einbauen, damit PHP die Tabelle erstellt, falls die noch nicht vorhanden ist:

PHP:
CREATE TABLE IF NOT EXISTS `Closed` (
  `key` int(100) NOT NULL,
  `str` int(100) NOT NULL,
  UNIQUE KEY `ticket` (`key`),
  FULLTEXT KEY `str` (`str`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

Ich weis nicht genau wie man das schreiben muss damit die PHP Datei die Mysql Tabelle erstellt und ich will nicht immer selber manuell in phpmyadmin die Tabelle erstellen, es alles automatisch funktionieren.
 
Also muste ich das nach dem Befehl mysqli_connect() schreiben.

Wie kann man den diesen SQL BEfehl in PHP Form schreiben?
PHP:
CREATE TABLE IF NOT EXISTS `Closed` (
  `key` int(100) NOT NULL,
  `str` int(100) NOT NULL,
  UNIQUE KEY `ticket` (`key`),
  FULLTEXT KEY `str` (`str`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
 
Muss man jedesmal den mysql query dann abschicken oder kann man erst vorher kucken ob die tabelle nicht doch schon besteht um die performance zu verbessern, weil eigentlich soll die tabelle ja nur einmallig erstellt werden?
 
Versuch, deine SQL-Anweisung zu verstehen
(du hast sie sicher nur irgendwo her kopiert...)
"IF NOT EXISTS".
Was macht das wohl?

Und verwende kein Latin1.
 
Ich weis nicht genau wie man das schreiben muss damit die PHP Datei die Mysql Tabelle erstellt und ich will nicht immer selber manuell in phpmyadmin die Tabelle erstellen, es alles automatisch funktionieren.
Man kann diesen Code auch direckt in PHPmyAdmin ausführen.
Da man ja auch immer andre Tabellennamen,Spaltennamen und Datentypen hat musst du so oder so immer wieder umschreiben.
Immer und immer wieder in x Scripts eine solche IF Exists Abfrage zu machen scheint mir nicht grad gut.
Wenn dann empfiehlt sich ein seperates Script createNewTable.php sinnvoller, welches du nur dann aufrufst wenn du es brauchst.
Aber auch da bist du nicht wirklich schneller denn du musst ja jedes mal alles erst von Hand schreiben und Fehler schleichen sich schneller ein bis der Create Table mal greift.. da ist PHPmyAdmin doch schneller.

Oder täusch ich mich? ich mein den Create Table brauchte ich bisher noch nie im Script.
 
Vielleicht will er ja eine Art Installation für sein PHP-Programm machen,
die die benötigte Struktur automatisch am jeweiligen Server erstellt.
 
Ja dann machts Sinn. Gibt bestimmt noch mehr Fälle wo es Sinn macht. Hatte mich eben nur gefragt wo die Reise hingehen soll mit Blick auf die Performance. ;)

LG Joe.
 
Zurück