php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.10.2011, 16:37  
Benutzer
 
Registriert seit: 30.10.2011
Beiträge: 32
PHP-Kenntnisse:
Anfänger
Zbot92 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] select max-abfrage funktioniert nicht

Guten Tag liebes Forum,

ich bin ein ziemlicher Anfänger was PHP und mysql betrifft. Ich habe eine Datenbank, die ich an PHP anbinde. Über den Befehl "select max(id)" möchte ich die höchste id-nummer in der tabelle abfragen.

Mein Befehl sieht so aus:

$abfrage = "SELECT max(id) FROM bwl";
$ergebnis = mysql_query($abfrage)

OR die("Error: $abfrage <br>".mysql_error());
while($row = mysql_fetch_object($ergebnis))
{echo "$row->id";
}

Das 'echo "$row->id";' soll mir den Wert der Variablen ausgeben, um zu testen, ob die Abfrage erfolgreich war. Leider kommt überhaupt kein Echo. Also weder Fehlermeldung noch eine Zahl, einfach gar nichts.

Wo liegt nun der Fehler? Ich über Hilfe dankbar!
Zbot92 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.10.2011, 16:39  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Beispielcode bitte lesbar formatiert posten, siehe Hinweisbeitrag.

Und dann erst mal das hier: http://www.php.de/wiki-php/index.php..._Fehlerausgabe
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 30.10.2011, 16:55  
Benutzer
 
Registriert seit: 30.10.2011
Beiträge: 32
PHP-Kenntnisse:
Anfänger
Zbot92 befindet sich auf einem aufstrebenden Ast
Standard

Okay, gut das mit der Fehlerausgabe hat schonmal funktioniert. Da gibt er mir nun folgendes:

"Notice: Undefined property: stdClass::$id in C:\xampp\htdocs\Projekt_WWW-BWL\fragen.php on line 24"

Und wegen der lesbaren Formartierung: Also ich kenn mich da nicht wirklich aus. Ein Beispiel, wie ich meinen Code lesbar gestalten kann, wäre für mich hilfreich. Dankeschön!
Zbot92 ist offline   Mit Zitat antworten
Alt 30.10.2011, 16:57  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Zbot92 Beitrag anzeigen
Okay, gut das mit der Fehlerausgabe hat schonmal funktioniert. Da gibt er mir nun folgendes:

"Notice: Undefined property: stdClass::$id in C:\xampp\htdocs\Projekt_WWW-BWL\fragen.php on line 24"
Heißt: Es gibt gar keine Wert unter dem Bezeichner 'id' im Ergebnis deiner Abfrage.

Zitat:
Und wegen der lesbaren Formartierung: Also ich kenn mich da nicht wirklich aus. Ein Beispiel, wie ich meinen Code lesbar gestalten kann, wäre für mich hilfreich. Dankeschön!
http://www.php.de/php-einsteiger/ann....html#sorgfalt
PHP-Code:
echo 'das hier ist PHP-Beispielcode'
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 30.10.2011, 17:01  
Benutzer
 
Registriert seit: 30.10.2011
Beiträge: 32
PHP-Kenntnisse:
Anfänger
Zbot92 befindet sich auf einem aufstrebenden Ast
Standard

Das ist komisch, denn wenn ich die gleiche Abfrage über phpmyadmin mache, gibt er mir als max(id) den Wert 2, was passt, da ich nur 2 Datensätze in der Tabelle habe.
Zbot92 ist offline   Mit Zitat antworten
Alt 30.10.2011, 17:11  
Benutzer
 
Registriert seit: 30.10.2011
Beiträge: 32
PHP-Kenntnisse:
Anfänger
Zbot92 befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$abfrage "SELECT max(id) FROM bwl";
 
$ergebnis mysql_query($abfrage)

 OR die(
"Error: $abfrage <br>".mysql_error()); 
 while(
$row mysql_fetch_object($ergebnis))
 {echo 
"$row->id";
 } 
So sollte der Code dann glaub ich lesbar aussehen, hoffe ich.

Also ich erklär mal dazu, wozu ich das ganze brauche. Ich möchte eine Art "Quiz" programmieren. In der Datenbank sind die Fragen samt Antworten. Wenn die Seite nun geöffnet wird, soll enie zufällige Frage ausgewählt werden. Dies soll dann geschehen über "SELECT frage FROM bwl WHERE id=$x". Das $x soll über random bestimmt werden. Den Bereich bei random muss ich jedoch festlegen, also von 1 bis zur maximalen id-nummer in der Tabelle. Deshalb die select max(id)-Abfrage.
Zbot92 ist offline   Mit Zitat antworten
Alt 30.10.2011, 17:15  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Zbot92 Beitrag anzeigen
Das ist komisch, denn wenn ich die gleiche Abfrage über phpmyadmin mache, gibt er mir als max(id) den Wert 2, was passt
Das unterstrichene ist der wesentliche Punkt.

Informiere dich, was ein Alias in SQL ist - und dann vergebe einen.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 30.10.2011, 17:23  
Benutzer
 
Registriert seit: 30.10.2011
Beiträge: 32
PHP-Kenntnisse:
Anfänger
Zbot92 befindet sich auf einem aufstrebenden Ast
Standard

Gotteswillen! Das ist ja genial. Super es funktioniert. Für Leute, die eventuell das gleiche Problem haben, hier meine Lösung:

PHP-Code:
$abfrage "SELECT max(id) nummer FROM bwl";
  
$ergebnis mysql_query($abfrage)
  
  OR die(
"Error: $abfrage <br>".mysql_error());  
  while(
$row mysql_fetch_object($ergebnis))
  {echo 
"$row->nummer";

Also nach max(id) kommt "nummer", ebenfalls bei $row->

Und eine Anmerkung: Mir gefällt der "Schnitzeljagd"-Stil hier sehr gut. Es macht Spaß, sich die Sachen zumindest noch teilweise zu erarbeiten; da ist dann auch ein gewisser Lerneffekt vorhanden.

Danke!
Zbot92 ist offline   Mit Zitat antworten
Alt 30.10.2011, 18:51  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.856
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Dein Query wird auch noch ne Stufe lesbarer wenn du nicht die kurzschreibweise des Alias nutzt sondern den Long-Therm, außerdem ziehe ( ich ) es vor SQL-Commands grundsätzlich groß sowie (table-,alias-,feld-,variablen-)Namen grundsätzlich klein zu schreiben:
Code:
SELECT MAX( id ) AS nummer FROM bwl
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 30.10.2011, 19:10  
Benutzer
 
Registriert seit: 30.10.2011
Beiträge: 32
PHP-Kenntnisse:
Anfänger
Zbot92 befindet sich auf einem aufstrebenden Ast
Standard

Danke tr0y, werds beachten!

Ich habe nun mit meinem Skript ein weiteres Problem. Ich weiß nicht, ob ich dazu ein neues Thema aufmachen sollte - ich schreib es einfach mal hier rein, rügt mich wenn es falsch ist.

Wie kann ich eine Variable ohne Formular übermitteln? Das über random bestimmte $x soll an eine andere Seite mehr oder weniger automatisch übermittelt werden. Sprich: Seite wird geöffnet, $x ermittelt und übermittelt. (Ich arbeite mit Frames, vielleicht macht das als Ergänzung Sinn.)
Zbot92 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SELECT wenn Feld leer funktioniert nicht... 7Style Datenbanken 4 15.03.2011 11:22
result Variablen von SQL verbinden vci PHP Tipps 2010 15 05.02.2010 19:09
[Erledigt] 2 Select-Abfragen in eine Variable speichern TheMav Datenbanken 3 18.06.2009 00:29
Select Abfrage von zwei Eigenschaften BlackBroom Datenbanken 5 02.06.2009 11:29
[Erledigt] Problem mit SELECT Abfrage BlackBroom Datenbanken 4 28.05.2009 14:13
[Erledigt] Tabelle erstellt - SELECT Abfrage nicht möglich Lightware Datenbanken 14 07.03.2009 17:31
Select Box dynamische Abfrage und ausgabe in case abi PHP Tipps 2008 17 23.09.2008 18:08
SELect abfrage gibt nur id aus?:{ shifty Datenbanken 3 15.08.2008 11:55
Abfrage mit NOT LIKE funktioniert nicht wirklich PsychoEagle Datenbanken 6 26.09.2006 11:45
Im Select eine IFF Abfrage bendigo Datenbanken 4 21.11.2005 14:11
Abfrage funktioniert unter MySQL aber nicht unter MS SQL Schiedsrichter Datenbanken 2 27.01.2005 15:43
[Erledigt] [gelöst] MySQL abfrage eingrenzen anhand einer SELECT Auswah Datenbanken 13 01.12.2004 18:42
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10
Newbie-Frage: Abfrage funktioniert nicht Datenbanken 3 13.08.2004 12:28
Select abfrage in Schleife PHP Tipps 2004 2 20.07.2004 15:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
select max, php select max, select max php abfrage, select max from where, select where max, select max funktioniert nicht, select max php, java select max funktionier tnicht, sql abfrage mit max() funktioniert nicht, select max(id) funktioniert nicht, select max(, php.de max, php maximale nummer in tabelle abfragen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum