komischer assoc fehler?

crashx

Erfahrenes Mitglied
ich komme nicht dahinter.

PHP:
$sql = "SELECT * 
       FROM  `werte`, `einstellungen`
       WHERE `id` = `1`";
       
$result = mysql_query($sql);

	while ($row = mysql_fetch_assoc($result)) //line 28
	{    
	echo $row['kondition'];//das ist ein wert aus der tabelle werte
	echo $row['aerodynamik'];//das ist ein wert aus der tabelle einstellungen
    }
?>
Code:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\serverII\xampp\htdocs\tourenwagen\index.php on line 28

Ich habe es schon mit, array, object probiert es geht nicht.
 
Diese Meldung deutet auf eine fehlerhafte Abfrage hin. In diesem Fall liegt es wohl daran, dass 1 wohl für die Ganzzahl 1 und nicht für das Feld mit der Bezeichnung 1 stehen soll. Deshalb darf diese Eins auch nicht mit Backticks ausgezeichnet werden.
 
Hallo,

ich weiß nicht ganz sicher ob ich damit richtig liege, aber ich glaube es liegt an id.

PHP:
$sql = "SELECT *  FROM  `werte`, `einstellungen` WHERE `werte.id` = 1 AND `einstellungen.id` = 1"; 
$result = mysql_query($sql); 

    while ($row = mysql_fetch_assoc($result)) 
    {     
    echo $row['kondition'
    echo $row['aerodynamik'];
    }

Ich vermute es mal so. Probier es einfach aus und sag mir ob es funktioniert.

Tobee
 
Ne das geht auch ned.

wenn ich das ganze so mache:

PHP:
$sql = "SELECT * 
       FROM  `werte`
       WHERE `id` = 1";
Dann ist die ausgabe korrekt.

aber leider nur aus einer Tabelle. Ich brauche aber den Wert aus beiden Tabellen wo das Feld "id" den Wert "1" hat.
 
Arbeitest du mit phpMyAdmin.
Wenn ja lass dir erst den sql Befehl ausgeben.

PHP:
echo $sql = "SELECT *  
       FROM  `werte` 
       WHERE `id` = 1";

Kopier es dann bei phpMyAdmin rein und schau dann was für ein Fehler kommt.
Das mach ich immer so. Und ich finde dadurch den Fehler meistens schnell.

Tobee
 
Die ID eines Datensatzes welcher Tabelle muss denn mit dem Wert „1“ übereinstimmen? Prinzipiell hat Tobee schon die richtige Richtung gewiesen.
Code:
SELECT
        *
  FROM
        `werte`,
        `einstellungen`
  WHERE
        `<Spalte>`.`id` = 1
 
ok.

mal alles im ganzen :)

Eine Tabelle mit dem name "werte", in ihr hat es ein feld mit dem namen "kondition".
Die andere Tabelle hat den namen "einstellungen" und ein feld namens "aerodynamik".
Beide tabellen haben ein feld namens "id", beim eintrag wird in tabelle "A" und tabelle "B"
ein wert eingetragen, und beide werte haben in den Tabellen die gleiche "id" in meinem fall noch id 1. Ich brauche nun aber beide Werte um sie zu Addieren.

Also muss ich sie doch beide ausgeben oder?

Das ganze muss doch meiner logik nach so gehen.

PHP:
$sql = "SELECT * 
       FROM  `werte`, `einstellungen`
       WHERE `id` = 1";
       
$result = mysql_query($sql);

	while ($row = mysql_fetch_assoc($result)) //line 28
	{    
	echo $row['kondition'];//das ist ein wert aus der tabelle werte
	echo $row['aerodynamik'];//das ist ein wert aus der tabelle einstellungen
$zusammen = $row['kondition'] + $row['aerodinamik'];
echo $zusammen
    }
?>

Oder nicht?
 
Lass dann doch gleich MySQL rechnen:
PHP:
<?php

	$query = '
		SELECT
		        `werte`.`kondition` + `einstellungen`.`aerodynamik` AS `summe`
		  FROM
		        `werte`,
		        `einstellungen`
		  WHERE
		        `id` = 1
		';
	$result = mysql_query($query)
		or die(mysql_error());
	while( $row = mysql_fetch_assoc($result) ) {
		echo $row['summe'];
	}

?>
 

Neue Beiträge

Zurück