Dag,

Ik heb een script met een multi_query ik weet niet wat ik fout doe maar ik krijg als melding dat de kolommen "Notice: Undefined index: id_naam_vastelasten". weet iemand wat ik fout doe.

<?php
// Maak verbinding met de database
$conn = mysqli_connect("localhost", "root", "", "jaarbegroting");

// Controleer of de verbinding is gemaakt
if (!$conn) {
die("Verbinding mislukt: " . mysqli_connect_error());
}

// Voer de SELECT-query's uit
$sql = "SELECT id_naam_inkomsten, bedrag_inkomsten FROM inkomsten; SELECT id_naam_vastelasten, bedrag_vastelasten FROM vastelasten";
if (mysqli_multi_query($conn, $sql)) {
echo "<table>";
echo "<tr>";
echo "<th>Inkomsten</th>";
echo "<th>Bedrag</th>";
echo "<th>Vastelasten</th>";
echo "<th>Bedrag</th>";
echo "</tr>";
do {
// Haal de resultaten op en weergeef ze in een tabel
if ($result = mysqli_store_result($conn)) {
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>" . $row['id_naam_inkomsten'] . "</td>";
echo "<td>" . $row['bedrag_inkomsten'] . "</td>";
echo "<td>" . $row['id_naam_vastelasten'] . "</td>";
echo "<td>" . $row['bedrag_vastelasten'] . "</td>";
echo "</tr>";
}
mysqli_free_result($result);
}
} while (mysqli_more_results($conn) && mysqli_next_result($conn));
echo "</table>";
} else {
echo "Geen resultaten gevonden.";
}

// Sluit de verbinding
mysqli_close($conn);
?>
Omdat die niet in de eerste iteratie van je while bestaat. Gebruik isset() om te controleren of het bestaat.

De fout heeft geen invloed op je query.
Het @result van mysqli_multi_query() is geen resultaatset maar een bool:

mysqli_multi_query(mysqli $mysql, string $query): bool

Je kunt mysqli_multi_query() niet gebruiken om het resultaat van meerdere SELECTs aan elkaar te plakken.
@Ward:
zie regel 22: daar komt store_result eerst nog om de hoek.
Waarom deze functie (en de multi-query) de laatste week ineens de kop op steek, geen idee. Is een wat mij betreft wat onbkende functie.
Zelfs na een jaar of 18 php-en...

Ik zie ook niet zo erg de toegevoegde waarde in dit geval.

Reageren