probleem met PDO

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marcel Santing

Marcel Santing

23/02/2015 16:06:58
Quote Anchor link
Ik heb een probleem uitdaging met pdo.

Ik ben niet met statements en dergelijke, simple querys en waardes met foreach gelijk te bewerken is tot nu toe gelukt.

maar als ik probeer content te vullen krijg ik het volgende:

Notice: Undefined index: info

info is een veld uit de database uit de kolom info.

nu mijn code

$query = "SELECT id, info FROM `front_sub_menu`\n"
. " WHERE id = :id";
$statement = $conn->prepare($query);
$statement ->bindValue(':id', 1);
$statement ->execute();
$page = $statement->FetchAll();

echo ($page['info']);

normal gesproken bij een sql query krijg ik keurig mijn data, echter bij pdo lukt me dat niet. Hoe kan ik dat wel voor elkaar krijgen.
 
PHP hulp

PHP hulp

28/11/2024 18:08:18
 
Thomas van den Heuvel

Thomas van den Heuvel

23/02/2015 16:20:38
Quote Anchor link
Mogelijk gaat je prepare-statement mis, waarom zet je je query niet gewoon op meerdere regels in plaats van het gebruik van "\n"?

Hoe heb je je foutafhandeling ingesteld? In het algemeen: hoe heb je je opties ingesteld bij het maken van een verbinding met je database?

En heb je alles in een try-catch blok staan?

EDIT: fetchAll() retourneert waarschijnlijk een array van arrays, doe eens een var_dump van $page? Als je maar 1 resultaatrij verwacht kun je ook $statement->fetch(PDO::FETCH_ASSOC) oid gebruiken. Ook kan het verstandig zijn om te controleren of je uberhaupt resultaten hebt met PDOStatement::rowCount() maar zoals PHP.net zegt:
Quote:
If the last SQL statement executed by the associated PDOStatement was a SELECT statement, some databases may return the number of rows returned by that statement. However, this behaviour is not guaranteed for all databases and should not be relied on for portable applications.

Of je doet zoiets
Gewijzigd op 23/02/2015 16:29:05 door Thomas van den Heuvel
 
Marcel Santing

Marcel Santing

23/02/2015 16:35:48
Quote Anchor link
Ik had het al geprobeerd met fetchColumn, maar dan kan ik maar waarde eruit halen, terwijl ik dezelde rij in een variabele wil hebben....... maar... ik probeer even iets...
 
Jan de Laet

Jan de Laet

23/02/2015 16:59:12
Quote Anchor link
Ik doe dit altijd zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
        $sql = 'SELECT *
                FROM TWeb
                WHERE TWeb.id = :zoek';
        $query = $this->db->prepare($sql);
        $query->execute(array(':zoek' => $xxxId));


En in jouw geval zou je dan $xxxId kunnen vervangen door 1.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.