ebiz-webhosting
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 14-02-2007, 00:12
Bart
 Registrierter Benutzer
Links : Onlinestatus : Bart ist offline
Registriert seit: Jul 2005
Beiträge: 69
Bart ist zur Zeit noch ein unbeschriebenes Blatt
Standard Problem mit sql join

Ich versuche mich gerade an sql join und ich werde einfach nicht einig

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /test/httpdocs/map.php on line 28

Ok also keine daten im array.

PHP-Code:
$result mysql_query("
SELECT a.hnr, a.besitzer, a.gebaeude, c.id as pid, c.status , c.name
                       FROM ttl_map a 
                       LEFT JOIN ttl_gebaeude b ON b.id = a.gebaeude
                       WHERE  a.hnr > 100 ORDER BY c.time "
);
          while (
$row mysql_fetch_array($result))
                {
                
$zaehler++;
                
$array[$zaehler] = array(
                
$row['hnr']
               
// und halb noch die ganzen anderen abgefragten zellen
                                         
);
 echo 
$array[$zaehler]['hnr'];
                } 
Was ich eigentlich möchte das er aus "ttl_map" mir alle daten ausließt deren hnr wert kleiner als 100 ist.
dann soll er mir aus "ttl_gebaeude" status und name auslesen auslesen wo gebaeude =id ist.
Das ganze dann schön in den array Packen aber ich glaub das sollte nicht das Problem sein.


edit in php tag geandert sry und bitte in sql verschieben

Geändert von Bart (14-02-2007 um 00:45 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 14-02-2007, 00:38
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.090
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

1.) Lies endlich unsere Regeln! Da steht: mysql_error() benutzen!
2.) Da steht auch: die php-tags benutzen, nicht die zitat-tags!
3.) Falsches Forum!
4.) Du hast keine Tabelle mit dem alias c - woher kommt c.id?
Mit Zitat antworten
  #3 (permalink)  
Alt 14-02-2007, 01:00
Bart
 Registrierter Benutzer
Links : Onlinestatus : Bart ist offline
Registriert seit: Jul 2005
Beiträge: 69
Bart ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok mit c das ist behoben und den mysql_error auch wieder eingebaut.

Jetzt erhalte ich folgende auf dem Monitor:

Fehler: 0 -

PHP-Code:
$result mysql_query("SELECT a.hnr, a.besitzer, a.gebaeude, c.id, c.status , c.name
                       FROM ttl1_map a
                       LEFT JOIN ttl_gebaeude c ON c.id = a.gebaeude
                       WHERE  a.hnr > 100"
);
                       echo 
"Fehler: " mysql_errno() . " - " mysql_error() . "\n";
          while (
$row mysql_fetch_array($result))
                {
                
$zaehler++;
                
$array[$zaehler] = array(
                
$row['hnr']
                                         );
 echo 
$array[1]['hnr'];
                } 
Zwar nichts mehr von array Leer oder so aber halb gar nichts an ausgabe.
Mit Zitat antworten
  #4 (permalink)  
Alt 14-02-2007, 02:01
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

print_r($array) wird dich erhellen.
Mit Zitat antworten
  #5 (permalink)  
Alt 14-02-2007, 08:50
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Hättest du das error_reporting auch eingestellt, wie in den Regeln beschrieben, hättest du auch eine Meldung wegen Zugriff auf einen nicht definierten Index bekommen.
(Aber sowas mal komplett zu lesen, übersteigt ja offenbar die Aufmerksamkeitsspanne der meisten.)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 14-02-2007, 13:38
Bart
 Registrierter Benutzer
Links : Onlinestatus : Bart ist offline
Registriert seit: Jul 2005
Beiträge: 69
Bart ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Entschuldige wahsaga das man wenn man gerade seit einem halben Jahr über echo "hallo welt"; hinaus ist nicht immer gleich an alles denkt.

Ich hoffe aber trotzdem das noch jemand bereit ist mir zu helfen.

PHP-Code:
<html>
<head>
  <title>Test</title>
</head>
<body>
<?
error_reporting
(E_ALL);
include 
"./connect.php";
$array = array();
$result mysql_query("SELECT a.hnr, a.besitzer, a.gebaeude, c.id, c.status , c.name
                       FROM ttl1_map a
                       LEFT JOIN ttl_gebaeude c ON c.id = a.gebaeude
                       WHERE  a.hnr > 100"
);
                       echo  
mysql_error();
          while (
$row mysql_fetch_array($result))
                {
                
$zaehler++;
                
$array[$zaehler] = array(
                
$row['hnr']
                                         );
 echo 
$array[1]['hnr'];
                }
  
print_r($array);
?>
</body>
</html>
Error_reporting schmeißt mir nichts aus

Print_r($array) gibt folgende ausgabe:
Array ( )

Das zeigt mir höchstens das, das Array leer zu sein scheint, nur wieso ?
Mit Zitat antworten
  #7 (permalink)  
Alt 14-02-2007, 13:43
Wyveres
 Registrierter Benutzer
Links : Onlinestatus : Wyveres ist offline
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
Blog-Einträge: 2
Wyveres ist zur Zeit noch ein unbeschriebenes Blatt
Wyveres eine Nachricht über ICQ schicken
Standard

was gibt dir denn ein einfaches var_dump($row); in der while schleife aus.
__________________
Bitte Beachten.
Foren-Regeln
Danke
Mit Zitat antworten
  #8 (permalink)  
Alt 14-02-2007, 13:48
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Bart
Entschuldige wahsaga das man wenn man gerade seit einem halben Jahr über echo "hallo welt"; hinaus ist nicht immer gleich an alles denkt.
Wenn du aufgefordert wirst, die Regeln zu lesen - dann darf doch wohl erwartet werden, dass du das auch einmal komplett machst.

Zitat:
Error_reporting schmeißt mir nichts aus

Print_r($array) gibt folgende ausgabe:
Array ( )
Dann dürfte es wohl daran liegen, dass in deine While-Schleife gar nicht hineingegangen wird - sonst müsste das echo eine Fehlermeldung geben.
Also liefert dein Select wohl gar keine Daten. (Test über mysql_num_rows)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 14-02-2007, 13:54
Bart
 Registrierter Benutzer
Links : Onlinestatus : Bart ist offline
Registriert seit: Jul 2005
Beiträge: 69
Bart ist zur Zeit noch ein unbeschriebenes Blatt
Standard

var_dump gibt mir leider absolut nichts aus.
Irgendwo muss bei meinem versuch mit der DB abfrage aber ein fehler drinnen sein (vermute) weil wenn ich die Tabellen einzeln abfrage bekomm ich alle daten ausgelesen.
Mit Zitat antworten
  #10 (permalink)  
Alt 14-02-2007, 13:55
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Also liefert dein Select wohl gar keine Daten. (Test über mysql_num_rows)
Also die Fehlermeldung besagt doch bereits, dass $result keine gültige Resultatressource ist. Der geht garantiert nicht in die Schleife rein.
@topicstarter
PHP-Code:
mysql_query("SELECT a.hnr, a.besitzer, a.gebaeude, c.id, c.status , c.name
                       FROM ttl1_map a
                       LEFT JOIN ttl_gebaeude c ON c.id = a.gebaeude
                       WHERE  a.hnr > 100"
) OR die(mysql_error());
                       
//echo  mysql_error(); 
das müsste mehr Infos liefern.
Zitat:
Das zeigt mir höchstens das, das Array leer zu sein scheint, nur wieso ?
Dürfte an der Eingangs von dir geschilderten Fehlermeldung liegen.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #11 (permalink)  
Alt 14-02-2007, 13:56
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von jahlives
Also die Fehlermeldung besagt doch bereits, dass $result keine gültige Resultatressource ist.
Das sollte ja inzwischen erledigt sein - mysql_error wurde eingebaut, Tippfehler behoben.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:07 Uhr.