Fehler bei Datenbank in php

die fehlermeldung bezieht sich auf das query...

PHP:
$query = "SELECT * FROM filme WHERE ID= '".$_GET['ID']."'";

sollte funktionieren


mfg
 
PHP:
$query = "SELECT * FROM filme WHERE ID= '".$_GET['ID']."'";

sollte funktionieren
Sollte es nicht. :)

Der Spaltenname ID lässt vermuten, dass es sich um den Datentyp "Integer" handelt, demnach dürfen keine Quotes verwendet werden.


Und damit hier auch mal irgendjemand etwas näher auf den Fehler eingeht... :rolleyes:

Das Problem bei deiner Query ist, dass du einer seits Single Quotes (Hochkommas) verwedest, anderer Seits die Variable auch direkt in diesem String steht.

Alles was in Single Quotes steht, wird nicht vom PHP-Interpreter geparst.
Der Inhalt von Double Quotes (normale Anführungszeichen) hingegen schon.

PHP:
$foo = 'bar';
echo 'foo und $foo'; // gibt aus "foo und $foo"
echo "foo und $foo"; // gibt aus "foo und bar"

Und damit das ganze auch bei Verwendung von Arrays lesbar bleibt, hat dir Chumper gleich ein Beispiel von Verkettungen gebracht. :)
 
JUHUUUU eine Ausgabe über:
Code:
print "Das ist {$row['Titel']} !";
funktioniert!
Jetzt nur noch eine letzte Sache, ich kriege es einfach nicht hin die Ausgabe in eine Tabelle zu packen! Ich weiß nicht warum.
Vielleicht kann mir hier jemand von euch helfen, ein letztes mal(so hoffe ich).
Wenn nicht, danke an euch, ihr seid super, habt mir sehr geholfen!! :rolleyes:

Sollte es nicht. :)

Der Spaltenname ID lässt vermuten, dass es sich um den Datentyp "Integer" handelt, demnach dürfen keine Quotes verwendet werden.


Und damit hier auch mal irgendjemand etwas näher auf den Fehler eingeht... :rolleyes:

Das Problem bei deiner Query ist, dass du einer seits Single Quotes (Hochkommas) verwedest, anderer Seits die Variable auch direkt in diesem String steht.

Alles was in Single Quotes steht, wird nicht vom PHP-Interpreter geparst.
Der Inhalt von Double Quotes (normale Anführungszeichen) hingegen schon.

PHP:
$foo = 'bar';
echo 'foo und $foo'; // gibt aus "foo und $foo"
echo "foo und $foo"; // gibt aus "foo und bar"

Und damit das ganze auch bei Verwendung von Arrays lesbar bleibt, hat dir Chumper gleich ein Beispiel von Verkettungen gebracht. :)
Danke DeluXe,
es handelt sich hierbei um einen Arry. Deswegen hat der Tipp von spikaner geholfen.
Ich glaub das von dir angebrachte Beispiel habe ich auch gefunden und hatte es ausprobiert, es funktionierte nicht. Aber weiter unten auf der Seite wo ich das her hatte war auch ein Beispiel zu arrays, dies funktionierte.
print "Das ist {$row['Titel']} !";
Vielen Dank trotzdem
 
:D :D Tut mir furchtbar Leid habe mich geirrt!
Ich poste jetzt einfach mal den kompletten Quelltext (er funktioniert vollkommen):

Die Hauptseite(wo die einzelnen Filme aufgelistet werden | das Layout ist noch fehlerhaft):

Code:
<html>
<head>
<?php
/* Verbindungsaufbau zum Datenbankserver */
$link = mysql_connect('localhost', 'root', 'feykkgal')
    or die('Verbindungsaufbau fehlgeschlagen : ' . mysql_error($link));

mysql_select_db('data_filme', $link)
    or die('Konnte die Datenbank nicht auswählen');

/* SQL-Abfrage senden */
$query = 'SELECT * FROM filme';
$result = mysql_query($query, $link) or die('Abfrage fehlgeschlagen : ' . mysql_error($link));

/* Abfrageergebnisse in HTML ausgeben*/

while($row = mysql_fetch_object($result))
    {
echo '<table width="300" border="1" cellspacing="0" cellpadding="0">
<tr><th>'.printf("<td><a href='detail.php?ID=$row->ID'>$row->Titel</a></td>", $dataset['Länge'], $dataset['Titel']);'</th></tr>
<tr><th>'&nbsp;'</th></tr>
</table>';

	}
/* Speicher wieder freigeben */
mysql_free_result($result);

/* Verbindung schließen */
mysql_close($link);
?>

</head>
<body>
</body>
</html>

Und die Detailseite
Code:
<html>

<head>
<?php

$link = mysql_connect('localhost', 'root', 'feykkgal')
    or die('Verbindungsaufbau fehlgeschlagen : ' . mysql_error($link));

mysql_select_db('data_filme', $link)
    or die('Konnte die Datenbank nicht auswählen');

if(isset($_GET[ID]))
{
		       $query = 'SELECT * FROM filme WHERE ID='.$_GET['ID']; 
		       $result = mysql_query($query, $link) or die('Abfrage fehlgeschlagen : ' . mysql_error($link));
}	
	
?>
</head>
<body>
<?php

while($row = mysql_fetch_object($result))
    {
echo '<div align=center><table width="500" border="1" cellspacing="0" cellpadding="0">
<tr><th>'.$row->Titel.'</th></tr>

<th>'.$row->Laenge.'</th></tr>

<th>'.$row->Genre.'</th></tr>

<th>'.$row->Hauptdarsteller.'</th></tr>

<th>'.$row->Inhalt.'</th></tr>

<th>'.$row->ID.'</th></tr>
</table></div>';
}
?>
</body>
</html>


Falls es jemanden interessiert^^
Danke an euch alle ihr wart super, alleine hätte ich das nie hingekriegt!
 
Zurück