PHP Skript bekommt keine Verbindung zur Datenbank

Bene

Mitglied
Thread Starter
Mitglied seit
22.07.2003
Beiträge
20
einfachstes PHP-Script läuft nicht...

Hi Forum,
habe hier ein kleine Datei die eine Datenbank mit 100 Einträgen (Inhalt egal) füllen soll.
________________________
<?php
$server ="localhost";
$user ="root";
$pwd ="geheim";
$db ="passion4fruit";
if(!$db_handle = @mysql_pconnect($server,$user,$pwd)) {
echo"Die Datenbank steht nicht zur Verfugung<br>";
exit("");
}
mysql_select_db($db);

for($i=1; $i<=100; $i++) {
$result = mysql_query("INSERT INTO p4f_content_db SET id='$i',
heading='test'");
}
if($result)
print "geschafft!...";
?>
_________________________
Leider treten immer wieder Fehler auf. Die Datei kann nicht ausgeführt werden. Wo bitte ist ein PARSE-ERROR????
Und warum geht localhost nicht????
Ich versteh gar nix mehr und würde mih sehr über Hilfe freuen...
__________________________
Wenn ich die Datei in PhpMyAdmin aufrufe:

Datenbank passion4fruit auf localhost
Fehler
SQL-Befehl_:_
<?php
$server ="localhost"
MySQL meldet:
You have an error in your SQL syntax near '<?php
$server ="localhost"' at line 1
__________________________
Wenn ich sie einfach im Browser ausführe:

Parse error: parse error in /Library/WebServer/Documents/passion4fruit/done.php on line 15
 

Eistee

Mitglied
Mitglied seit
05.06.2003
Beiträge
55
Hi Bene,

schau Dir mal den Befehl "mysql_connect" an, Du hast da "mysql_pconnect"
stehen.

Ich hoffe, ich konnte Dir helfen.


Flo


edit: Ups ... vergiss meinen Beitrag einfach, ok?! Habe gerade mal
nachgeschaut und dabei ist mir aufgefallen, dass es den Befehl doch gibt.
 

Eistee

Mitglied
Mitglied seit
05.06.2003
Beiträge
55
Ich bin's nochmal ...

also, da scheint etwas mit Deiner Datenbank, bzw. mit Deinem Server nicht
zu stimmen. Ich habe das Skript bei mir getestet (ebenfalls lokal) und es
funktioniert ohne Probleme.


Flo
 

Bene

Mitglied
Thread Starter
Mitglied seit
22.07.2003
Beiträge
20
komisch...

Hallo Eistee,
danke für die fixe Antwort - jetzt stellt sich nur die Frage was an meiner Datenbank falsch sein könnte...

Mhhhmmmm, naja danke jedenfalls.

Hahaha carro ich habe einfach mal das p bei connect wechgelassen und es ging...

Ich hatte das vorher auch ohne p - habe schon so oft rumprobiert gehabt. Leider weiß ich jetzt nicht warum es vorher nicht ging. Typisch.
Naja es ging jetzt auf jeden Fall....

D A N K E
 
Zuletzt bearbeitet:

Eistee

Mitglied
Mitglied seit
05.06.2003
Beiträge
55
Was ja nicht aus Deinem Beitrag genau hervorgeht ist, welches diese
Zeile 15 ist, in der der Fehler liegt. Vielleicht kannst Du mir die noch mal
schreiben?!


Flo
 

Grady

Mitglied
Mitglied seit
25.04.2003
Beiträge
2.345
IN PHPMyAdmin kann man keinen Code laufen lassen. Es können nur SQL-Abfragen gemacht werden. Wenn man noch zusätzlich <?php einbaut, kann das nur schief gehen.

Mach doch die Verbindung mit dem Server anstatt mit if() über or die "message".
 

Bene

Mitglied
Thread Starter
Mitglied seit
22.07.2003
Beiträge
20
frage hat sich schon erledigt - Datenbankverbing läuft (siehe geänderter Beitrag von mir - der mit der hüpfenden karotte)
Aber:
Mich würde interessieren, wie ich das in PhpMyAdmin direkt eingeben kann.
INSERT INTO 'p4f_content_db' SET 'heading'='test'
nur wie geht dann die schleife?
Er soll ja 100 Datensätze anlegen.
 

Eistee

Mitglied
Mitglied seit
05.06.2003
Beiträge
55
Na, das ist doch mal 'ne gute Nachricht.

Das mit der Schleife funktioniert meines Wissens, wie Grady
bereits erwähnt hatte, nicht mit PHPMyAdmin. Hier kannst Du
lediglich normale SQL Befehle eingeben, die dann abgearbeitet
werden.

Vielleicht gibt es ja einen SQL Befehl, der wie eine Schleife
funktioniert?!


Flo
 

Grady

Mitglied
Mitglied seit
25.04.2003
Beiträge
2.345
Dafür gibt es ja PHP. :)

a) Man tippt den ganzen Kram ein:
INSERT INTO 'p4f_content_db' SET 'id=1', 'heading'='test'
INSERT INTO 'p4f_content_db' SET 'id=2', 'heading'='test'
INSERT INTO 'p4f_content_db' SET 'id=3', 'heading'='test'
INSERT INTO 'p4f_content_db' SET 'id=4', 'heading'='test'
.
.
.
INSERT INTO 'p4f_content_db' SET 'id=100', 'heading'='test'


b) Es wird von PHP generiert und in eine Textfile geschrieben, die dann eingefügt wird. Erweiterte Inserts sind natürlich auch möglich und sparen bei vielen Daten Zeit und Speicher.


Wenn man öfters solche Arbeiten zu erledigen hat, dann empiehlt sich eine PHP-Klasse für SQL-Funktionen.