Unknown column 'folder_name.visible' in 'field list'
Simon
- php
Hallo,
was bedeutet diese Fehlermeldung bei einer Abfrage der Datenbank?
Unknown column 'folder_name.visible' in 'field list'
Gruß ... Simon
Moin,
was bedeutet diese Fehlermeldung bei einer Abfrage der Datenbank?
Unknown column 'folder_name.visible' in 'field list'
Das das Feld visible nicht in der Tabelle folder_name existiert. Schreibfehler?
Stefan
Hi,
Das das Feld visible nicht in der Tabelle folder_name existiert. Schreibfehler?
Ja da war ein Leerzeichen in der DB am Ende der Tabelle! Shit sieht man ja nicht.
Aber jetzt stimmt die Abfrage!
Wenn ich sie im phpmyadmin eingebe funzt sie auch aber wenn ich sie aus einer PHP heraus aufrufe steht einfach nichts da nicht mal ein Fehler. Die DB-Verbindung steht aber, da andere Dinge ja richtig abgefragt werden.
Hier mal der Code:
<?php
$var_visible = "1";
$var_status = "visible";
$dir = mysql_query("SELECT folder_name.id, folder_name.name, folder_name.visible, folder_name.status FROM folder_name WHERE folder_name.visible = ".$var_visible." AND folder_name.status = ".$var_status."");
echo mysql_error();
if(!$dir) {
die("Die Datenbank konnte nicht abgefragt werden.");
}
while ($row = mysql_fetch_array($dir)) {
$result = mysql_query("SELECT folder_name.id, folder_name.name, folder_name.visible, folder_name.status FROM folder_name WHERE folder_name.visible = ".$var_visible." AND folder_name.status = ".$var_status." AND folder_name.id = ".$row[id]."");
echo mysql_error();
if(!$result) {
die("Die Datenbank konnte nicht abgefragt werden.");
}
$row_2= mysql_fetch_array($result);
echo "<li><a href="".$_SERVER["PHP_SELF"]."?page=".$row_2[id]."">".$row_2[name]."</a></li>";
}
?>
Gruß ... der Simon
Moin,
»»Die DB-Verbindung steht aber, da andere Dinge ja richtig abgefragt werden.
Hier mal der Code:
<?php$var_visible = "1";
$var_status = "visible";$dir = mysql_query("SELECT folder_name.id, folder_name.name, folder_name.visible, folder_name.status FROM folder_name WHERE folder_name.visible = ".$var_visible." AND folder_name.status = ".$var_status."");
Mach mal hier ein:
echo $dir;
Was gibt das? Sieht der Query richtig aus. Wenn ja, kopiere diesen Query und teste ihn auf der MySql-Konsole bzw. in myadmin. Was ergibt das?
Stefan
Hi,
echo $dir;
Der gibt dann das aus : Resource id #5
Hä? Noch nie gesehen sowas. Und den kann ich ja auch nicht in den phpmyadmin kopieren.
Gruß ... das Gemeindekind
Der gibt dann das aus : Resource id #5
Ist ja logisch. War mein Fehler. Schreibe deinen Query mal so
$sql = "SELECT .......";
dann ein
echo $sql; //Hier siehst Du dann den erzeugten Query und der muss stimmen wenn dem so ist kannst Du weiter machen.
mit
$dir = mysql_query($sql);
was gibt das echo?
Stefan
Hi,
was gibt das echo?
Hier das gibt er aus:
SELECT folder_name.id FROM folder_name WHERE folder_name.visible = 1 AND folder_name.status = visibleResource id #5
Gruß ... der Simon
Der Code sieht so aus:
$var_visible = "1";
$var_status = "visible";
$sql = "SELECT folder_name.id FROM folder_name WHERE folder_name.visible = ".$var_visible." AND folder_name.status = ".$var_status."";
echo $sql;
$dir = mysql_query($sql);
echo $dir;
Gruß ... der Simon
Das echo $dir kannst du wieder rausnehmen.
SELECT folder_name.id FROM folder_name WHERE folder_name.visible = 1 AND folder_name.status = visible
wenn das der mittels PHP erzeugte Query ist, was ist das Resultat wenn Du diese Zeile in myadmin reinkopierst und ausführst?
Wenn da nichts kommt ist der erzeugte Query falsch. weiterhin nehme ich an, das status ein varchar ist, dann sollte es besser so aussehen.
SELECT folder_name.id FROM folder_name WHERE folder_name.visible = 1 AND folder_name.status = 'visible'
überprüffe mal alle Hochkommatas od das mit der Felddefinition übereinstimmt.
Stefan
Hi,
Wenn da nichts kommt ist der erzeugte Query falsch. weiterhin nehme ich an, das status ein varchar ist, dann sollte es besser so aussehen.
SELECT folder_name.id FROM folder_name WHERE folder_name.visible = 1 AND folder_name.status = 'visible'
Ja so funzt das und Du hattest Recht, ist varchar.
Aber ich will das ja als Variable nutzen bei folder_name.status = bla
Wie kann ich das lösen?
Gruß ... der Simon
Wie kann ich das lösen?
Schreibe Deinen Query sauber:
$sql = "SELECT folder_name.id, folder_name.name, folder_name.visible, folder_name.status FROM folder_name WHERE folder_name.visible = ".$var_visible." AND folder_name.status = '".$var_status."'";";
$dir = mysql_query($sql);
Das sollte gehen.
Stefan