[MySQL] SELECT...IN

Erks

Erfahrenes Mitglied
Jetzt erklärt mir mal das...

PHP:
$sqlselectimg= "SELECT * FROM erksspaceeintrag WHERE `kd-nr` IN ('$friend1')";

Eigentlich müsste er doch den wert aus dieser ID ($friend1) herausnehmen und dann in der Spalte `kd-nr` suchen und ausgeben. Aber Nein. Der macht es nicht. Wieso?
 
Jetzt erklärt mir mal das...

PHP:
$sqlselectimg= "SELECT * FROM erksspaceeintrag WHERE `kd-nr` IN ('$friend1')";

Eigentlich müsste er doch den wert aus dieser ID ($friend1) herausnehmen und dann in der Spalte `kd-nr` suchen und ausgeben. Aber Nein. Der macht es nicht. Wieso?

Versuchs mal so:

PHP:
$sqlselectimg= "SELECT * FROM erksspaceeintrag WHERE `kd-nr`='" . '$friend1 . "';
 
Was steht denn in $friend drin? Welchen Datentyp hat kd-nr?
Willst Du eine Wertemengeabfragen? Also sollen mehrere kd-nr gleichzeitig abgefragt
werden oder nur einer?

Gruß
 
In der ID '$friend1' steht eine Zahl, die dann wiederum in dem Feld `kd-nr` gesucht wird, und wenn diese Zeile gefunden wurde, dann wird eine Spalte aus dieser Zeile ausgegeben.

Ich hab mal nicht die Id eingegeben, sondern manuell die Zahl, die gesucht werden soll. Da findet er sie. Ber das ist ja nicht Sinn der Sache.
Hier ist mal der komplette Code:

PHP:
<?php
require ('mysql.php');


if($button=='Anzeigen'){

$sqlselectimg= "SELECT * FROM erksspaceeintrag WHERE `kd-nr` IN ('$friend1')";  				// SELECT friend1 IMG

if(!$res_id = mysql_query($sqlselectimg)){
	die('Falscher SQL Befehl');
	

	}
	while($testimg=mysql_fetch_array($res_id)){
	$friend1_1IMG='<img src="'.$testimg['img'].'" width="50%" height="45%" />';     //
}


$sqlselect= "SELECT * FROM erksspaceeintrag WHERE `kd-nr`='$kdnr'";				// SELECT friend1
if(!$res_id = mysql_query($sqlselect)){
	die('Falscher SQL Befehl');
	

	}
	while($test=mysql_fetch_array($res_id)){
	$friend1_2='<table width="100%" border="1" id="friend1"><tr><td>'.$test['friend1'].'</td></tr></table>';    //
}}

echo $friend1_1IMG."<br>".$friend1_2;
?>
 
Zuletzt bearbeitet:
Wo, wie und wann werden denn die Variablen deklariert? ;)
Einfach mal via [phpf]var_dump[/phpf] schauen, ob die Variablen zu dem entsprechenden Zeitpunkt schon gesetzt sind und auch nen Inhalt aufweisen können...
 
Hallo,

würde vorschlagen, dass Du nochmal im PHP Forum hier fragst ist eigentlich ein Standard Thema. MySQL + PHP abfragen.



Gruß
 
@maeTimmae

Die Variable, die letzendlich die z.B. Nummer angeben soll wird mit $test['friend1'] ausgegeben und gleich in eine Tabelle mit der ID $friend1 übergeben. Nun soll dieser "Text" daraus wieder weggenommen werden bzw. das Script soll diese Variable in der Tabelle suchen. Ich hab schon vers. INSERT Anweisungen geschrieben und da geht das. Wenn ich ein Objekt, sei es ein Textfeld, mit einer ID habe, dann kann diese Anweisung die Inhalte der ID übergeben. Und das ist genausso geschrieben worden wie hier das Ende.

PHP:
$sql= "INSERT  INTO erksspaceeintrag VALUES ('$friend1','$friend2','$friend3')";

Da kann er es aus der ID herauslesen. Nur nicht hier.
 
Zuletzt bearbeitet:
Lass dir doch einfach mal zur Laufzeit den Variableninhalt ausgeben - So lange ich weder weiß, wo und wie die Variable belegt wird, noch dass sie auch wirklich den entsprechend gewünschten Wert hält, tippe ich auf eine leere, und womöglich nicht initiierte Variable.
Des Weiteren kannst du mal schauen, wie der Querystring letztenendes aussieht via var_dump($sql). Sollte da schon nicht das gewünschte Ergebnis stehen, ist wohl wieder Erstaufgeführtes anzunehmen.
 
Hi,
ich bin endlich dazugekommen var_dump() auszuprobieren. Also, wenn ich eingebe var_dump($friend1) sagt er mir letzendlich im Browser NULL. Das heißt wohl das nix drinsteht oder?
Aber da steht doch der Inhalt der MySQL Tabelle drin ( $test['friend1'] ) . Also dürfte es nicht leer sein.
 

Neue Beiträge

Zurück