Hét vraag- en antwoordplatform van Nederland

Weet iemand wat ik met de volgende foutmelding aan moet? : Warning: Invalid argument supplied for foreach()


// Maken van verbinding
try {
$db = new PDO('mysql:host=localhost;dbname=reisbureau', 'root','');
}

catch(PDOException $e) {
echo $e->getMessage();
}

// De update opdracht
$sql = " UPDATE boeking SET Reisnummer = '$_POST[Reisnummer]', Land = '$_POST[Land]', Plaats = '$_POST[Plaats]', Vertrekdatum = '$_POST[Vertrekdatum]', Retourdatum = '$_POST[Retourdatum]', Aantalpersonen = '$_POST[Aantalpersonen]' Prijs = '$_POST[Prijs]', Betaald = '$_POST[Betaald]'";
$aantalregelsgewijzigd = $db->exec($sql);

// Het wijziging bekijken
$sql = "SELECT * FROM boeking WHERE Reisnummer = $_POST[Reisnummer]";


$resultaat = $db->query($sql);

foreach($resultaat as $row) {
echo '

';
echo 'Reisnummer: '.$row['Reisnummer'].'
';
echo 'Land: '.$row['Land'].'
';
echo 'Plaats: '.$row['Plaats'].'
';
echo 'Vertrekdatum: '.$row['Vertrekdatum'].'
';
echo 'Retourdatum: '.$row['Retourdatum'].'
';
echo 'Aantalpersonen: '.$row['Aantalpersonen'].'
';
echo 'Prijs: '.$row['Prijs'].'
';
echo 'Betaald: '.$row['Betaald'].'
';
echo '

';
}

echo "

is nu gewijzigd!

";
echo "



";

$db = NULL;

?>

-- Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\wijzigdefinitief.php on line 32 --

Weet iemand hoe ik dit opgelost krijg? Hij kan het nu de gegevens die ik heb ingevoerd niet meer bewerken.
line 32 = foreach($resultaat as $row) {

Verwijderde gebruiker
12 jaar geleden
947

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Wellicht een probleem met de SQL query?
Misschien wordt er niks ge-returnt, waardoor $resultaat geen waarde heeft, en hij er dus ook niet doorheen kan loopen? Dat zou verklaren waarom hij een invalid argument heeft ($resultaat is volgens mij ook het enige argument dat fout kan zijn...)

Mocht je dit overigens online willen gebruiken, let dan even op dat je sql query op deze manier SQL-injectie gevoelig is. (http://nl.wikipedia.org/wiki/SQL-injectie)
(Lees meer...)
Verwijderde gebruiker
12 jaar geleden
rose
12 jaar geleden
De waarschijnlijkste verklaring.
Verwijderde gebruiker
12 jaar geleden
Dat kan wel eens kloppen jah! Hoe zou k dat moeten oplossen dan? (sorry heb nog niet zo lang les en kan de oplossing niet terug vinden in mijn boek. )
Verwijderde gebruiker
12 jaar geleden
Ik gebruik deze methode zelf niet, maar je zou kunnen proberen het te doen zoals in deze link wordt gedaan: http://www.php.net/manual/en/pdo.query.php Dus:
$sql = 'SELECT * FROM boeking WHERE Reisnummer = $_POST[Reisnummer]';
foreach ($conn->query($sql) as $row) {
#Print wat je wil laten zien
}
Verwijderde gebruiker
12 jaar geleden
Top bedankt!! :)

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 2500
Gekozen afbeelding