XAMPP und Datenbankzugriff

miris

Grünschnabel
Hallo mySQL Experten.

Ich bin ein Anfänger in sachen WAMP. Deshalb habe ich auf meinem Rechner (Win2000) XAMPP installiert und übe fleissig mit php4.Es klappt ganz gut bis ich die Datenbank anspreche. Folgenden Code habe ich eingegeben(Der steht im Verzeichniss C:\apachefriends\xampp\htdocs):

<html>
<body>
<?php

mysql_connect() or die
("Keine Verbindung moeglich");
mysql_select_db("firma") or die
("Die Datenbank existiert nicht");

?>
</body>
</html>

Die Antwort im Browser war: Die Datenbank existiert nicht



Die "Testdatenbank" (nur ein Datensatz) habe ich vorher mit dem MySqlManager.exe erstellt und ausprobiert. Funktioniert gut.
Sie steht im Verzeichniss C:\apachefriends\xampp\mysql\data\mysql und heisst wie Ihr seht firma. Ich habe auch einige andere Beispiele ausprobiert und gescheitert.Kann jemand helfen.

Danke im Vorraus
 
Du musst by mysql_connect noch ein paar Angaben machen, und zwar in der Form:
mysql_connect('localhost', 'mysql_user', 'mysql_password');

redlama
 
also um eine conn zur Db zu bekommen, benutze ich immer folgendes:

PHP:
<?php
$mysqluser="User";
$mysqlpasswd="psw";
$mysqlhost="localhost";
$mysqldbname="dbname";
$conname = @mysql_connect($mysqlhost,$mysqluser,$mysqlpasswd);

und danach kannst du die Meldungen reinschreiben... ohne die Daten (is vl. etwas umständlich ausgeführt, aber so erkennts jeder) KANN gar keine Verbindung hergestellt werden.
 
Vielen Dank für euere Antworten. Localhost kann ich nachvollziehen. Wo bekomme ich noch die anderen beiden Angaben: 'mysql_user' und 'mysql_password'.

Die Datenbank wenn man sie so nennen darf habe ich direkt im MySqlManager angefertig.
create database firma;
dann
use firma;
dann
create table personen
(
name char(30),
vorname char(25),
geburtstag date
);
dann
insert personen values
(
'Maier',
'Hans',
'1960-12-20'
);

mit
select * from personen;

bekomme ich den Datensatz zu sehen (im MySqlManager)!Ein Beispiel vom Galileo Computing!
 
Dankeschön. Hat prima geklappt!

Das Ergebniss im Browser sieht jetzt so aus:

1 Datensätze gefunden
Maier, Hans, 1960-12-20
 
Also ich hab auch eine Frage zu genau dem gleichen Thema:

Den Login usw. hab ich schon hinbekommen (lerne nach dem Quaktenet PHP - Tutorial).
Dort wird leider nicht beschrieben, wie man den Namen einer DB herausbekommt.
Um die DBs zu managen nutze ich phpMyAdmin und finde ihn eigenltich sehr übersichtlich - nur ich hab irgendwie nix gefunden, was auf den Namen einer DB hindeuten könnte.
Hab mal ein Bild angehängt!
Dort sieht man ja das Dropdown-Menü von phpMyAdmin.
Die Worte, die man da lesen kann, sind das gleichzeitig die Namen der Datenbanken?
Habe nämlich schon ausprobiert, diese zu benutzen, doch es kommt immer ein Fehler?

Hab den Code etwas anschaulich gemacht:

PHP:
//Login Konstanten festlegen
define('MYSQL_HOST',     'localhost');
define('MYSQL_USER',     'root');
define('MYSQL_PASS',     '');
define('MYSQL_DATABASE', 'cdcol');

$datenbank = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);

if($datenbank == true)
	{
	echo "Die Verbindung mit der MySQL-Datenbank konnte hergestellt werden<br>";
	echo "Sie wurden als ".MYSQL_USER." mit dem Passwort ".MYSQL_PASS." erfasst<br>";
	echo "Die Variable \$datenbank enth&auml;t den Wert <i>".$datenbank."<i><br>";
	if(mysql_select_db(MYSQL_DATABSE))
		{
		echo "Die Datenbank MYSQL_DATABASE konnte ausgew&%auml;hlt werden";
		}
	else
		{
		echo "Die Datenbank konnte NICHT ausgw&auml;hlt werden";
		}		
	}
else
	{
	echo "Die Verbindung mit der MySQL-Dantebankg konnte <strong>NICHT</strong> hergestellt werden.<br>";
	echo "Bitte &uuml;berpr&uuml;fen sie die Einwahldaten";
	}	
?>

und als Antwort im Browser kommt dann:

Die Verbindung mit der MySQL-Datenbank konnte hergestellt werden
Sie wurden als root mit dem Passwort erfasst
Die Variable $datenbank enthät den Wert Resource id #2
Die Datenbank konnte NICHT ausgwählt werden

Das heisst, einloggen geht, auswählen leider nicht :((

Wo liegt der Fehler
Danke für die Hilfe
 
Du hast dich verschrieben: MYSQL_DATABASE nicht MYSQL_DATABSE.
Schreib mal error_reporting(E_ALL); in alle deine Scripte, dann kann sowas nicht passieren.
 
Na dann bedanke ich mich doch mal recht herzlich.
War ja eigentlich ein dummer FEhler - und normalerweise hab ich das error_reporting() auch immer an - ich weiss nur leider nich genau, warum dieses mal nicht!
Aufjedenfall war der Schreibfehler wohl der Grund!

Vielen Dank nochmal!
 
Zurück