einfaches Beispiel -> SQL-Datensatz bei Seitenaufruf
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
adresse
anfang
ausgeben
beispiel
code
datei
datenbank
datensatz
ende
erfragen
fehler
fehlermeldung
index
probier
schritt
speichern
stehen
tabelle
url
zugriff
-
Hallo,
Ich möchte gerne beim Zugriff auf eine Homepage ein Datensatz in einer SQL-Datenbank generieren.
Zahlreiche Beispiele habe ich dazu bereits gefunden.
Ich bin absoluter Neuling im Thema SQL und PHP
ich habe einige Beispiele gefunden "z.B. Seitenzähler, Zugriffsstatistik, ...."
Bei mir funktioniert allerdings schon der 1. Schritt nicht:
Erzeige einen Datensatz sobald die Homepage aufgerufen wird.
Folgendes Dateien habe ich angelegt:
Eine SQL-Datenbank mit 2 Feldern: (yyyyy)
1. ID
2. IP_Nr
CONNECT.PHP
<?php
$db = mysql_connect($dbSERVER, $dbUSER, $dbPASS);
mysql_select_db($dbNAME,$dbTABLE);
?>
CONFIG.PHP
<?php
//Datenbank:
$dbSERVER = "mysql.lima-city.de";
$dbUSER = "USERxxxxxx";
$dbPASS = "xxxxx";
$dbName = "yyyyy";
// --Tabellen
$dbTABLE = "zzzzz";
?>
INDEX.HTML
....
<body>
<?php
include_once("config.php");
include_once("connect.php");
$sql = "INSERT INTO $dbTABLE (id, ip_nr) VALUES ('Wert1','Wert2');";
$result = mysql_query($sql);
?>
<br>
<br>
TEST<br>
</body>
</html>
Ergebnis:
Es passiert gar nichts. Weder eine Fehlermeldung noch ein Datensatz wird generiert!?!?
Worann kann das liegen?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Probier doch mal aus
mysql_select_db($dbNAME,$dbTABLE);
mysql_select_db($dbNAME);
zu machen. Theoretisch müsste es dann funktionieren, wenn ich nichts übersehen habe. -
Probier doch mal aus
mysql_select_db($dbNAME,$dbTABLE);
mysql_select_db($dbNAME);
das habe ich doch in CONNECT.PHP stehen !?!?
CONNECT.PHP
<?php
$db = mysql_connect($dbSERVER, $dbUSER, $dbPASS);
mysql_select_db($dbNAME,$dbTABLE);
?>[/i] -
Ja deshalb sage ich ja du sollst aus dem ersten das zweite machen, sorry mein Satz war irgendwie nicht sonderlich gut ausformuliert. Deine Connect.php sollte dann so aussehen:
CONNECT.PHP
<?php $db = mysql_connect($dbSERVER, $dbUSER, $dbPASS); mysql_select_db($dbNAME); ?>
-
Danke für die Antwort ...
aber das hat leider nichts gebracht.
Ich habe mal in die beiden Dateien CONFIG.PHP und CONNECT.PHP eine Ausgabezeile eingebaut.
Der Text wird allerdings beim Aufrufen der Seite nicht ausgegeben!?!?!
Die CONFIG.PHP und die CONNECT.PHP stehen in dem selber Verzeichnis wo auch die INDEX.HTML steht.
So wie es aussieht, werden die beiden Dateien nciht angezogen.
CONFIG.PHP
<?php
print ('confg ...');
//Datenbank:
$dbSERVER = "mysql.lima-city.de";
$dbUSER = "USER156420";
$dbPASS = "**********";
$dbName = "db_156420_2";
// --Tabellen
$dbTABLE = "BESUCHERSTATISTIK";
?>
[/b]
CONNECT.PHP
<?php
print ('connect ...');
$db = mysql_connect($dbSERVER, $dbUSER, $dbPASS);
mysql_select_db($dbNAME);
?>
?>
Beitrag zuletzt geändert: 28.11.2010 15:48:58 von nikic -
Ach du lieber Schreck bin ich doof...
Es hätte mir eigentlich früher auffallen müssen:
Wenn du PHP-Code ausführen willst musst du auch die entsprechende Dateiendung nutzen.
Das heißt die index Datei darf nicht die Endung .html haben sondern .php.
Also müsstest du die index.html theoretisch nur in index.php umbenennen, dann sollte es laufen ( und wehe nicht^^). -
Benenne index.html in index.php um (wie bereits erwähnt).
Php-varaibaeln sind case sensitive, d.h. wenn dort zB
$dbName = "db_156420_2";
steht, muss natürlich "$dbName" auch mit den entsprechenden groß & kleinbuchstaben geschrieben werden.
mysql_select_db($dbName);
Um eventuelle Fehlermeldungen von sql zu bekommen musst Du diese Meldungen auch ausgeben.
Füge nach diesem php-code...
$result = mysql_query($sql);
..folgenden code ein:
echo mysql_errno() . ": " . mysql_error() . "\n";
-
SUPER .. Vielen Dank!
Fehler lag u.a. in der falschen groß/Kleinschreinbung .... auch des Datenbanknamens.
Jetzt werden zumindest mal Datensätze in der SQL-Datenbank bei jedem Zugriff angelegt ... ein erster Schritt!
D A N K E !!!
Beitrag zuletzt geändert: 28.11.2010 16:47:45 von lcws09 -
l
lcws09 schrieb: SUPER .. Vielen Dank!
Fehler lag u.a. in der falschen groß/Kleinschreinbung .... auch des Datenbanknamens.
Jetzt werden zumindest mal Datensätze in der SQL-Datenbank bei jedem Zugriff angelegt ... ein erster Schritt!
D A N K E !!!
Schön, dann noch 2 Hinweise:
php- Fehlermeldungen aktivieren= folgenden Code ganz am Anfang (im php-code)
error_reporting(E_ALL);
..Das sorgt dafür das Dir auch Fehler im php-code angezeigt werden (gleich merken & immer ganz am Anfang in jede Datei reinschreiben die Du testen willst)
Zweiter wichtiger Hinweis:
Immer die geöffnete Verbindung am ende mit..
msql_close()
...schließen.
Das gehört also immer an das ende des php-codes immer dann wenn du zuvor eine Verbindung mit mysql_connect geöffnet hast.
Das mal so ganz allgemein...
Übersicht über alle php-mysql-Funktionen:
http://de.php.net/manual/de/ref.msql.php
Gutes einsteigertutorial php&sql:
http://www.schattenbaum.net/php/index.php -
Darf ich mal erfragen was du gerne dort speichern möchtest?
Es gibt verschiedenes was du speichern kannst zum Beispiel kannst du die IP adresse des Users speichern und wann er sich auf deiner Seite eingeloggt hat.
das ist nur zum Üben gedacht.
zuerst mal IP-Adresse, Datum, Uhrzeit, Browser (müsste glaube ich theoretisch auch gehen).
das ist nur mal zum experimentieren mit einer SQL-Datenbank.
Der nächste Schritt wäre dann Suchen in einer Datenbank und Ausgeben bestimmter Feldinhalte ,...
aber davor gibt es noch einiges zu lernen
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage