MySQL-Datenbank mit PHP anlegen ?

Hallo,

eine Bekannte muss eine Studienarbeit abgeben, bei der per PHP Script eine MYSQL-Datenbank angelegt werden soll.

Dh. auf dem System des Dozenten ist diese Datenbank angeblich nicht vorhanden - und er verlangt, das diese dann projektspezifisch angelegt wird und funktioniert.

Also
1. Datenbank per php-script anlegen ()
2. Tabelle ber php-script anlegen (das geht ja glaub ich)
3. Daten in Tabelle schreiben (das geht ja wohl auch)

Ist das mit der Datenbank überhaupt mögliche ?! Muss die Datenbank nicht schon auf einem System vorhanden sein und über andere Tools eingerichtet werden - oder ist diese Prozedur tatsächlich über php lösbar ?!

Für eine schnelle Auskunft wäre ich sehr dankbar
 
Klar geht das. Sonst waere der Sinn von PHPMyAdmin ziemlich fraglich. ;)

Hier mal ein Beispiel-Script:
PHP:
<html>
<body>
<?php
$db=mysql_connect("host","user","passwort");
if (mysql_query("CREATE DATABASE `mydb`",$db))
	{
		printf("Database mydb created<br>");
	}
if (mysql_select_db("mydb",$db))
	{
		if (mysql_query("CREATE TABLE `links` (`id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT,`title` VARCHAR( 128 ) NOT NULL,`url` VARCHAR( 255 ) NOT NULL,`description` VARCHAR( 255 ) NOT NULL,PRIMARY KEY ( `id` ))",$db))
			{
				printf("Table links created<br>");
			}
	}
$db=mysql_close($db);
?>
</body>
</html>

In diesem Beispiel wird die Datenbank mydb angelegt, und darin die Tabelle links.
 
Ich schaffs einfach nicht ....

bei mir liegt der Fehler bestimmt im System .. nur wo ?!

jetzt nutze ich dieses Sricpt

PHP:
<?php
$host="localhost";
$passwort="";
$user="";
$link = mysql_connect($host,$user,$passwort);
if (!$link) 
   {
   die('keine Verbindung möglich: ' . mysql_error());
   }

if (mysql_create_db('my_db')) 
   {
   echo "Datenbank erfolgreich angelegt\n";
   }
else 
   {
   echo 'Fehler beim Anlegen der Datenbank ' . mysql_error() . "\n";
   echo "<br><br><br>";
   }
?>

Als Fehlermeldung kommt dann folgendes:

Fehler beim Anlegen der Datenbank Access denied for user ''@'%' to database 'my_db'

so ..

Dummerweise nehme ich aber die USER-Paramter bei anderen Datenbanken ohne Probleme .. dh. bei Datenbanken die bereits mit phpmyadmin angelegt wurden ...

Aber hierbei gehts irgendwie nicht ...

Kann mir da nochmal jemand nen Denkanstoss geben, damit ich da weiterkomme ?!

Vielen Dank
 
Vielleicht so:
PHP:
<?php 
$host="localhost"; 
$passwort=""; 
$user=""; 
$link = mysql_connect("$host", "$user", "$passwort"); 
if (!$link) 
{ 
die('keine Verbindung möglich: ' . mysql_error()); 
} 
 
if (mysql_create_db('my_db', $link)) 
{ 
echo "Datenbank erfolgreich angelegt\n"; 
} 
else 
{ 
echo 'Fehler beim Anlegen der Datenbank ' . mysql_error() . "\n"; 
echo "<br><br><br>"; 
} 
?>
 
Hab das mit der Datenbank erstellen nun aufgegeben .. schaffe es nicht ..

und am automatischen Erstellen der Tabelle verzweifel ich auch fest ...

ES GEHT JETZT ZWAR - ABER ...

nur weil ich eine schon bestehende Datenbank in meinem Xaamp genutzt habe ...

Wenn ich einfach eine neue Datenbank anlege .. zb. "abc" - und dort per CREATE TABLE eine Tabelle erstellen will gehts ums verrecken net ..

weiss jemand darauf einen rat ?!

warum kann ich in der einen mit phpadmin angelegten datenbank eine tabelle anlegen - und warum in der anderen nicht ?!
 
Hallo,
also bei mir hat das Beispiel von reptiler einwandfrei funktioniert. Probier doch mal, dass du das Beispiel 1:1 übernimmst.

mfg
forsterm
 
Zurück