Variable mit "." im Namen

BIAsTeR

Mitglied
Moin,
ich habe mir eine SQL-Abfrage gebaut in der ich auf verschiedene Tabellen zugreife. Daher sind Kombinationen mit . enthalten. Wenn ich dann aber die entsprechenden Werte haben möchte bekomme ich den Fehler:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in D:\server\xampp\htdocs\pdb\14_Haltestellen_auf_Linie.php on line 56

Der Quelltext:
PHP:
echo '<font size=+1>Sie haben die Linie '.$linie.' ausgewählt. Die Haltestellen sind:</font><br><br>';
						$h1 = 'SELECT
								l.Name AS "Linienname",
								h.Name AS "Haltestellenname",
								l_h.Sequentiell AS "Reihenfolge", l_h.Raeumlich AS "Entfernung", l_h.Zeitlich AS "Fahrtzeit"
							   FROM
							   	linien l,
								haltestellen l,
								linien_haltestellen l_h
							   WHERE
							    l.Name = "'.$linie.'"
							    l.ID = l_h.ID_L
							   AND
							    h.ID = l_h.ID_H
							   AND
							   	l.ID = 1
							   ORDER BY
							    "Reihenfolge"';
							   
						$erg1 = mysql_db_query("mexico",$h1,$db);
						echo "<table border=1>";
						while (list($h.Name,$l_h.Sequentiell,$l_h.Raeumlich,$l_h.Zeitlich) = mysql_fetch_row($erg1))
						{
						 echo "<tr>
						 		<td>
									$h.Name
								</td>
								<td>
									$l_h.Sequentiell
								</td>
								<td>
									$l_h.Raeumlich
								</td>
								<td>
									$l_h.Zeitlich
								</td>
						 	</tr>";
						 }
						 echo "</table>";
					}

Ich habe bereits versucht mit den Aliasen zu arbeiten, mit dem gleichen (Mis-) Erfolg. Ebenso wenn ich versuche die $xy.asd Variablen in andere Variablen ohne Punkt zu schreiben.
Wie kann ich dem System klarmachen das der Punkt zur Variablen gehört?

mfg
Ben
 
Ich denke mal es liegt an der Semantik :confused:

PHP:
$h1 = "SELECT
                                `l`.`Name` AS `Linienname`,
                                `h`.`Name` AS `Haltestellenname`,
                                `l_h`.`Sequentiell` AS `Reihenfolge`,
                                `l_h`.`Raeumlich` AS `Entfernung`,
                                `l_h`.`Zeitlich` AS `Fahrtzeit`
                               FROM
                                   linien l,
                                   haltestellen l,
                                   linien_haltestellen l_h
                               WHERE
                                `l`.`Name` = $linie
                                `l`.`ID` = `l_h`.`ID_L`
                               AND
                                `h.ID` = `l_h`.`ID_H`
                               AND
                                   `l`.`ID` = `1`
                               ORDER BY
                                `Reihenfolge`"';

Probier das mal und benutze die Aliases, noch schöner bzw. angebrachter wäre hier der "Equi-Join"

mfg
 
habs eben mal getestet deinen Code, aber das einzige was anders ist ist der Fehler ;)
Parse error: syntax error, unexpected '.', expecting ',' or ')' in D:\server\xampp\htdocs\pdb\14_Haltestellen_auf_Linie.php on line 52
Ich denke mal er beschwert sich weil er Punkte in den Variablennamen findet...

Ich werd mir mal wenn ich Zeit und Lust hab die Sache mit dem Equi Join anschaun.
 
Durch ein Alias sind die ursprünglichen Bezeichner nicht mehr gültig sondern nur noch die Alias-Bezeichner.
 
Zurück