Also, was ich wirklich gerne tun würde, ist die Kombination der beiden Abfragen. Ich habe sie in zwei geteilt, um mir zu helfen herauszufinden, wo das Problem liegt. sql2 ist, wo das Problem ist. Wenn ich es in phpMyAdmin (ohne WHERE) ausführe funktioniert es so, was ist hier los?Problem mit einer Abfrage, var_dump sagt bool (false)
$holidayID = formval('holidayID');
$sort= formval('sort', 'rating');
$dir = formval('dir', 'ASC');
$sql = "SELECT recipeID, holidayID, recipeName, rating
FROM recipes
WHERE holidayID = $holidayID
ORDER BY $sort $dir ";
//execute
$result = mysqli_query($dbc, $sql);
$sql2 = "SELECT recipes.holidayID, holidays.holidayName
FROM recipes
JOIN holidays ON recipes.holidayID=holidays.holidayID
WHERE holidayID = $holidayID
LIMIT 1";
$result2 = mysqli_query($dbc, $sql2);
var_dump($result2);
Die erste Abfrage funktioniert einwandfrei. Was mache ich falsch? Vielen Dank für Ihre Zeit.
ist Ihr Code auf SQL-Injektionen anfällig. Bitte lernen Sie [vorbereitete Aussagen] (https://www.youtube.com/watch?v=nLinqtCfhKY). –
Obwohl es scheint, dass die 'holidayID'-Spalte mehrdeutig ist - müssen Sie sie angeben - ist es aus der 'recipes' oder' holidays' Tabelle? – Qirel
Sie vergleichen 'recipes.holidayID' mit' holidays.holidayID'. Wenn Sie später 'holidaidID' angeben, weiß es nicht, in welcher Tabelle gesucht werden soll. Geben Sie es manuell an oder besser noch, Sie sollten es wahrscheinlich nur haben ein 'ID'-Feld in der 'holidays'-Tabelle :) –