[PHP] Ergebnismenge von SQL in PHP übergeben

jope

Erdapfel
Registriert
12.05.17
Beiträge
1
Hi,
ich bin gerade dabei eine kleine Webanwendung zu programmieren und komme nicht mehr weiter, ich bin drüber eine Art Buchungssystem zu programmieren, in dem der User eine Teilnehmeranzahl eingeben kann.

Nun möchte ich die Teilnehmerzahlen aus der Datenbank abrufen um diese dann mit der maximalen Teilnehmerzahl zu vergleichen ob noch Platz ist.

Im Moment habe ich das Problem, dass die Fehlermeldung: "MySQL-Error: No database selected" kommt, kann mir da jemand weiterhelfen?

CODE:
<?php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', ' ');

$abfrage = "SELECT SUM(tn) AS 'teilnehmer' FROM `users`";
$ausgabe = mysql_query($abfrage) or die ("MySQL-Error: " . mysql_error());
$ergebnis = mysql_fetch_assoc($ausgabe);
echo "<p><strong>" . $ergebnis["teillnehmer"] ."</strong> Euro Insgesamt!</p>";

$abfrage = "SELECT SUM(tn) FROM users";
$ausgabe = mysql_query($abfrage) or die ("MySQL-Error: " . mysql_error());
$alleTeilnehmer = 0;
while($ergebnis = mysql_fetch_assoc($ausgabe)) {
// Schleife, die für jeden Eintrag die Variable $ganzesgeld um $geld der jeweiligen Spalte erhöht.
$teilnehmer = $ergebnis["geld"];
$alleTeilnehmer = $alleTeilnehmer + $teilnehmer;
}
echo "<p><strong>" . $alleTeilnehmer ."</strong> Teilnehmer insgesamt!</p>";

?>

Danke schon einmal für eure Hilfe!
 

timmy38233

Rhode Island Greening
Registriert
20.07.08
Beiträge
474
Du stellst die Verbindung zur Datenbank über ein PDO-Objekt her, versuchst dann aber die Abfrage über die mysql_query Funktion abzusetzen. Das kann so nicht funktionieren, da mysql_query von der PDO-Verbindung nichts mitbekommt und dementsprechend nicht weiß mit welcher Datenbank kommuniziert werden soll.
Ausserdem ist die mysql_query Funktion veraltet und sollte nicht mehr benutzt werden.

Du musst also auf dem PDO-Objekt die query Funktion aufrufen und die mysql_ Funktionen wieder entfernen. (mysql_query wird quasi zu $pdo->query($abfrage) ). Lies dir am besten nochmal die PDO-Dokumentation durch, damit du auch die Rückgaben richtig auswerten kannst: http://php.net/manual/de/pdo.query.php

Falls du irgendwann mal Benutzer-Eingaben verarbeiten möchtest, solltest du unbedingt "Prepared Statements" nutzen. Dazu solltest du dir das hier nochmal durchlesen: http://php.net/manual/de/pdo.prepare.php