probleem 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.
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
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...
Code (php)
1
2
3
4
5
2
3
4
5
$sql = 'SELECT *
FROM TWeb
WHERE TWeb.id = :zoek';
$query = $this->db->prepare($sql);
$query->execute(array(':zoek' => $xxxId));
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.