php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
SQL-DB ANfrage-Problem


 
newbie1955
12-12-2013, 17:56 
 
Hallo, habe bisher überhaupt noch nicht mit Datenbanken gearbeitet und will jetzt erstmal zum Einstieg eine Nutzungs-Datenbank über die Aufrufe meiner zahlreichen Unter-Seiten stellen, so eine Art Zähler. Bisher zeig mein Provider nur die Gesamt-Zahl der Klicks usw. an, aber nicht nach Unterseiten spezifiziert. Ist auch wie gesag erstmal nur eine Möglichkeit, mich an DB und SQL heranszutasten. Könnte mal jemand auf meinen Code schauen und mir sagen, wo es hakt, denn im Moment kriege ich immer nur die Fehlermeldung: "Konnte die Datenbank nicht wählen!", obwohl meine Eingabe-Daten host, user und passwort korrekt sind.



<?php

$mysqlhost="website.de.mysql"; // MySQL-Host angeben

$mysqluser="Nutzer"; // MySQL-User angeben

$mysqlpwd="XXXXXXXX"; // Passwort angeben




$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die

("Verbindungsversuch fehlgeschlagen");

$mysqldb="SELECT Home FROM Nutzung"; // Gewuenschte Datenbank angeben

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");


$sql = "SELECT Home FROM Nutzung";

$zaehler_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");


?>
Hänge zwei Screenshots von meiner DB ran.
Gruß und Dank
newbie1955

 
wahsaga
12-12-2013, 18:18 
 
$mysqldb="SELECT Home FROM Nutzung"; // Gewuenschte Datenbank angeben
Das ist ganz sicher nicht der Datenbankname!

 
newbie1955
12-12-2013, 21:31 
 
ja, das war natürlich falsch, jetzt bin ich soweit mir den Stand des Arrays ausgeben zu lassen, möchte den zaehler aber natürlich hochzählen und zurückschreiben, gibt es da eine einfache Möglichkeit?


$mysqldb="richtigerdatenbankname"; // Gewuenschte Datenbank angeben



mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");


$sql = "SELECT Home FROM Nutzung";

$zaehler_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");

$aehler = mysql_fetch_array($zaehler_query);

echo $zaehler[0];


Gruß
newbie1955

 
Kropff
12-12-2013, 21:35 
 
while ($zaehler = mysql_fetch_array($zaehler_query)) {
print_r($zaehler);
}
Btw: nimm mysql_fetch_assoc, ist einfacher. Oder besser, du greifst direkt auf PDO oder MySQLi zurück.

möchte den zaehler aber natürlich hochzählen und zurückschreiben
Sorry, verstehe kein Wort.

Peter

 
newbie1955
12-12-2013, 22:05 
 
im Grunde ist im Moment das ausgeben dieses Tabellenfeldes für mich nur ein Test, ob ich überhaupt auf die Datenbank zugreifen kann.

Letztlich will ich dieses Feld auslesen lassen und den Wert um 1 raufzählen und wieder zurückschreiben (wobei mir gerade auffällt, dass ich den Wert gar nicht auslesen muss, sondern ihn gleich eins hochsetzen könnte...)

Also im Grunde will ich mithilfe einer Datenbank die Seitenzugriffe zählen - ich weiß dass das auch einfacher geht, aber es ist für mich ein Weg, den Umgang mit einer DB zu erlernen und gleichzeitig eine vernünftige Nutzungsstatistik für meine Unterseiten zu bekommen. Ich habe vermutlich eher wenig genutzte Unterseiten, aber ich würde es gern genauwissen. Bisher habe ich für jede Unterseite eine Textdatei, aus der ich einen Zähler auslese, hochzähle und zurückschreibe, das hätte ich jetzt gern als Datenbank - da brauche ich dann nicht auch noch so viele Textdateien.

PDO und MySqLi sind für mich noch Fremdwörter, werde aber mal gleich recherchieren.


Gruß und Dank
newbie1955

 
Kropff
12-12-2013, 22:55 
 
Letztlich will ich dieses Feld auslesen lassen und den Wert um 1 raufzählen
Ich kenne zwar nicht die Details, denke aber, dass ein
SELECT COUNT(*) ...
völlig ausreichen sollte.

Peter

 
newbie1955
12-12-2013, 23:23 
 
ich das richtig verstehe, kann man mit SELECT COUNT aber nur etwas zählen, ich möchte den Wert X in einer Tabelle Y aber um eines raufsetzen und erreichen, dass hinterher in der Datenbank ein um 1 erhöhter Wert steht. Also ich möchte in die Tabelle der Datenbank einen anderen (jetziger Stand + 1) Wert SCHREIBEN.

 
wahsaga
13-12-2013, 00:27 
 
Na dann mach ein UPDATE …

 
newbie1955
13-12-2013, 21:53 
 
danke! Gibt es eine gute deutsche SQL-Anleitung mit praktischen Beispielen? Die Galileo-Tutorial-DVD, die ich habe, hilft mir da nicht so richtig.


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:04 Uhr.