Frage : Warum erhalte ich eine falsche Zahl?

Den Code und die Datenbank gegeben, die beigefügt wurden, hatte ich erwartet, einen Druck aus „max_number heraus zu erhalten: 10“. Stattdessen erhalte ich „max_number: 9“. Kann jemand von Ihnen Gurus von MySQL das für mich erklären?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
No connection.

"); @mysql_select_db ($db) oder sterben („

Can nicht anschließen“. $db. “.

"); $SQL = „AUSERWÄHLTES max (Zahl) als max_number von der Tabelle WO Datum = „2010-09-04“ UND Platz = „Kranen“ UND Zahl <= 29“; $ret = mysql_query ($SQL); wenn (! $ret) {Echo (mysql_error ()); } sonst { während ($row = mysql_fetch_array ($ret)) { $max_number = $row [„max_number“]; Echo „max_number: $max_number“; }} ? >
Attachments:
Druck aus relevantem Teil database
heraus heraus

Antwort : Warum erhalte ich eine falsche Zahl?

Ihr Feld „numberi“ ist von der varchar Datenart sehr wahrscheinlich, in der max () zurückbringt in der Tat „9“ und nicht „10“

das Feld zur Art der numerischen Daten ändern, und der Auftrag durch sowie max arbeitet an numerischem Vergleich und nicht Schnurvergleich

Sie konnten auch versuchen:

Max (yourfield + 0)
Weitere Lösungen  
 
programming4us programming4us