Über PHP in Mysql-DB schreiben und lesen

Möchte in einem Formular Werte eingeben, die dann über ein PHP-Script in eine Mysql-Datenbank geschrieben werden. Ich hab das bis jetzt so gemacht:

Testdatenbank dbtiere, Tabelle tabtiere:

<?php // Übergabe der Variablen des Formulars
$mctName = $HTTP\_POST\_VARS['inptName']; $mctBesitzer = $HTTP\_POST\_VARS['inptBesitzer']; $mctArt = $HTTP\_POST\_VARS['inptArt']; $mctGebDat = $HTTP\_POST\_VARS['inptGebDat']; $mctTodDat = $HTTP\_POST\_VARS['inptTodDat']; // Verbindung zum Server herstellen $conn\_id = mysql\_connect; $conn\_id(); // Datenbank öffnen $db\_id = mysql\_select\_db($dbtiere, $conn\_id); // SQL-Abfrage durchführen $result = mysql\_db\_query($dbtiere, select \* from tabtiere); // Eine Ergebniszeile holen $result = mysql\_fetch\_array($result); // Ein Feld aus einer Zeile holen $field = $row("tArt"); // Verbindung zum Server schließen $conn\_id = mysql\_close; $conn\_id(); ?\> Wie kann ich denn feststellen, ob die Verbindung erfolgreich war? Wenn ich nämlich eine if-Anweisung einbaue, dann bekomm ich schon eine erfolgreiche Anmeldung zurück, nur wenn ich den Mysql-Server-Service stoppe, läuft ja kein php mehr und ich bekomm nicht zurück dass er nicht läuft, sondern nur vom System einen Error. Fehler bringt er so jetz immer ab //Verbindung öffnen. Kann mir da jemand sagen was an dem Script falsch ist ?? mfg Chris.

Hallo,

der mySQL Server und PHP sind unabhängig voneinander. Wie kommst Du auf die Idee, dass PHP nicht mehr läuft, wenn du mySQL beendest?

Du kannst die Fehlerabfrage z.B. so machen :

$link = mysql\_connect("localhost", "mysql\_user", "mysql\_password")
 or die("Verbindung konnte nicht hergestellt werden: " . mysql\_error());
echo "Verbindung hergestellt";

Daniel

ich wollte jetzt nur mal wissen, was an meinem script falsch ist. muss ich eigentlich host, username und passwort angeben? wenn ja, wo stehen die denn? ist schon länger her, dass ich mysql installiert hab.

mfg chris.

ich wollte jetzt nur mal wissen, was an meinem script falsch
ist. muss ich eigentlich host, username und passwort angeben?
wenn ja, wo stehen die denn? ist schon länger her, dass ich
mysql installiert hab.

was hast du gleich für ein System? Kein PHPMyAdmin oder was ähnliches
installiert?

sonst siehe:
http://faq.puretec.de/skripte/php/3.html

ich bevorzuge die mysql Klasse aus der PHPlib
http://123.koehntopp.de/kris/artikel/phplib-deutsch/ - hab keine Lust
das Fahrrad neu zu erfinden.

Gruss Jan

Hallo,

ich wollte jetzt nur mal wissen, was an meinem script falsch
ist.

Schlicht und ergreifend ALLES

muss ich eigentlich host, username und passwort angeben?

Selbstverständlich

wenn ja, wo stehen die denn? ist schon länger her, dass ich
mysql installiert hab.

Der Host ist meistens „localhost“
Der User bei einem neuinstallierten MySQL meist „root“
Das passwort bleibt meist standarmässig frei, also leer.

Ohne Die jetzt zu nahe treten zu wollen, aber Du solltest Dich ganz einfach mal mit PHP beschäftigen. Dannach kannst Du darüber nachdenken mit MySQL zu arbeiten.

Du kannst schon mal viel hier lernen: http://www.phpbox.de
Einfach und verständlich, auch mit DB zugriffen.

Ein normaler DB zugriff siehr folgendermaßen aus:

$connect = mysql\_connect( HOST, USER, PSS );
mysql\_connect( HOST, USER, PSS );
mysql\_select\_db( Datenbankname, $connect ) or die ( mysql\_error());

Da ich jedoch die Befürchtung habe, dass Du von PHP überhaupt keine Ahnug hast, solltest Du dichzunächst damit auseinander setzten.

Hier z.B.

// Übergabe der Variablen des Formulars
$mctName = $HTTP\_POST\_VARS['inptName'];
$mctBesitzer = $HTTP\_POST\_VARS['inptBesitzer'];
$mctArt = $HTTP\_POST\_VARS['inptArt'];
$mctGebDat = $HTTP\_POST\_VARS['inptGebDat'];
$mctTodDat = $HTTP\_POST\_VARS['inptTodDat'];

HTTP_POST_VARS[] benutzt niemand mehr. Probiers mit $_POST[] oder $_GET[], oder $_REQUEST[]

Oder hier:

$conn\_id = mysql\_connect;
$conn\_id();

Erstens erstellt man mit $conn_id = mysql_connect; keine function.
Zweitens ruft man sie auch nicht mit $con_id() auf.

Wenn übrhaupt, wäre das hier richtig gewesen:

// erstellen der Funktion

function conn\_id($HOST, $USER, $PSS)

{

 mysql\_connect( $HOST, $USER, $PSS );

}

// aufruf der Funktion

conn\_id( 'localhost', 'deinname', 'deinpss' );

nichts für Ungut.

Gruss Michael

was hast du gleich für ein System? Kein PHPMyAdmin oder was
ähnliches
installiert?

Also ich hab ein Windows2000 System mit Jana2-Server_2.4.0.0, php_4.3.4, phpmyadmin_2.5.3 und mysql_4.0.16. Wollte ja eigentlich den Apache benutzen, nur ich weiß nicht, wo ich dann die Pfade fürs PHP setzen muss?! Weißt du das zufällig?

Hallo,

wenn ja, wo stehen die denn? ist schon länger her, dass ich
mysql installiert hab.

Der Host ist meistens „localhost“
Der User bei einem neuinstallierten MySQL meist „root“

Ja, aber zum üben sollte man doch besser einen extra Benutzer
anlegen.

Das passwort bleibt meist standarmässig frei, also leer.

Hä? Passwort anlegen ist standartmässig das erste nach der
Installation - zumindest bei allen Anleitungen die ich kenne. Ich
nehme immer die gleichen Daten wie auf dem Server, damit ich beim
Onlinestellen nur den Host anpassen muss.

Gruss Jan

was hast du gleich für ein System? Kein PHPMyAdmin oder was
ähnliches
installiert?

Also ich hab ein Windows2000 System mit Jana2-Server_2.4.0.0,
php_4.3.4, phpmyadmin_2.5.3 und mysql_4.0.16.

Mit phpmyadmin solltest du doch die Benutzer verwalten können. Fürs
Passwort vom Benutzer root schau einfach in die config(config.inc?)
Datei von phpmyadmin. Leg dir am besten einen neuen Benutzer

Wollte ja
eigentlich den Apache benutzen, nur ich weiß nicht, wo ich
dann die Pfade fürs PHP setzen muss?! Weißt du das zufällig?

Apache und Windows ist nicht mein Ding. Ich kenn mich nur mit Linux
und MAC OS X aus. Würde dir da auch ein Linux empfehlen, die meisten
Webserver arbeiten mit Linux.
Schau mal hier nach: http://www.apachefriends.org/

Schau dir auch die Tutorials auf http://www.dynamic-webpages.de an -
da sind sehr gute dabei.

Gruss Jan