in field list is ambiguous

cced-de

Neuer Benutzer
Beiträge
3
Hallo,
Ich bin neu hier. Danke, dass ich hier mein Problem loswerden darf.

Ich habe hier ein kleines Problem, und brauche dringend eine Lösung.
Ich versuche eine MySQL Datenbank abfrage über 2 Tabellen zu realisieren.
beide Tabellen haben 1 identische Spalte (dattim).
Ich möchten den Wert aus "dattim" aus der Tabelle "data" auswerten. "dattim" in "dht22" ist uninterressant.
Meine Abrfrage sieht wie folgt aus:

Code:
$link = mysql_connect("localhost", "Name", "Passwort")     // Anmelden bei der Datenbank
or die("Keine Verbindung moeglich: " . mysql_error() . "<br>");
mysql_select_db("aqua") or die("Auswahl der Datenbank fehlgeschlagen<br>");

$query = "SELECT UNIX_TIMESTAMP(dattim), Innen, Aqua1, Aqua2, Aqua3, dattim, luft, temp FROM data l, dht22 d WHERE l.dattim  = d.dattim";
//$query = "SELECT UNIX_TIMESTAMP(dattim), Innen, Aqua1, Aqua2, Aqua3, dattim, luft, temp  FROM login l, daten d WHERE l.user_id = d.user_id";
$result = mysql_query( $query );
    if ( ! $result )
        {
        die('Ungültige Abfrage: ' . mysql_error());
        }
$result = mysql_query($query)
or die(mysql_error());
fwrite($fh, $query); fwrite($fh, "\n");
........................................

Die beiden Tabellen sehen wie folgt aus:
data:
data.jpg

dht22:
dht22.jpg


Und ich bekomme immer die Fehlermeldung:
Ungültige Abfrage: Column 'dattim' in field list is ambiguous

Wo ist der Fehler? Ich stehe total auf dem Schlauch.
Vielen Dank im Voraus für eure Unterstützung.

LG Markus (CCED-de)
 
Werbung:
Ich habe hier ein kleines Problem, und brauche dringend eine Lösung.
Ich versuche eine MySQL Datenbank

Lösung ist einfach: MySQL deinstallieren ;-)

abfrage über 2 Tabellen zu realisieren.
beide Tabellen haben 1 identische Spalte (dattim).
Ich möchten den Wert aus "dattim" aus der Tabelle "data" auswerten. "dattim" in "dht22" ist uninterressant.
Meine Abrfrage sieht wie folgt aus:

Code:
$link = mysql_connect("localhost", "Name", "Passwort")     // Anmelden bei der Datenbank
or die("Keine Verbindung moeglich: " . mysql_error() . "<br>");
mysql_select_db("aqua") or die("Auswahl der Datenbank fehlgeschlagen<br>");

$query = "SELECT UNIX_TIMESTAMP(dattim), Innen, Aqua1, Aqua2, Aqua3, dattim, luft, temp FROM data l, dht22 d WHERE l.dattim  = d.dattim";

Das Problem ist, daß nicht eindeutig ist, aus welcher Tabelle das Feld kommen soll (in der Select-Liste), im Where hast ja die Tabellen mit genannt, im Select nicht. Das ist das Problem.

Und stell bitte von implizieter Join-Syntax auf expliziete um.
 
Kurz gesagt
SELECT UNIX_TIMESTAMP(l.dattim)
und
FROM data l, dht22 d WHERE l.dattim = d.dattim
statt
FROM data 1 JOIN dht22 d ON l.dattim = d.dattim
:)
 
Danke für Eure Unterstützung.
Ich habe das Problem zwischenzeitlich anders gelöst :) Ich habe einfach die Spalte dattim aus der Tabelle dah22 gelöscht, und lasse auch kein Datum mehr eintragen :)
Aber ukilele, deinen Tipp werde ich später mal probieren.
DANKE!!!
 
Und akretchmer, bin relativ neu im Thema PHP, MySQL usw...
daher mopse ich mir den code meißt nur aus schripten im Internet.
Wenn mein Code oben veraltet ist, wie würde es denn heute Aussehen?
Wor finde ich Gute Infos und Beispiele, wie es heute gemacht wird?
LG Markus
 
Werbung:
Und akretchmer, bin relativ neu im Thema PHP, MySQL usw...
daher mopse ich mir den code meißt nur aus schripten im Internet.
Wenn mein Code oben veraltet ist, wie würde es denn heute Aussehen?
Wor finde ich Gute Infos und Beispiele, wie es heute gemacht wird?
LG Markus

Du meinst den Hinweis auf die deprecated Extension? Suche einfach nach mysqli (beachte das i) oder nach PDO. Oder nehme gleich als DB PostgreSQL, die hat einfach erheblich mehr Features.
 
Zurück
Oben