Function met query werkt niet
Ik probeer via een function een query te gebruiken.
Maar ik zie mijn fout niet.
Hopelijk kunnen jullie me helpen.
Quote:
function familyName($pagina) {
$sql='SELECT * FROM items WHERE page="'.$pagina.'"';
$rs=$con->query($sql);
while($row = $rs->fetch_assoc()){
echo $row['sleutel'];
}
}
$sql='SELECT * FROM items WHERE page="'.$pagina.'"';
$rs=$con->query($sql);
while($row = $rs->fetch_assoc()){
echo $row['sleutel'];
}
}
Waar komt $con vandaan? Die zie ik niet in je function terugkomen.
Als je variabelen van buiten een functie wilt gebruiken, dan moet je 'global' gebruiken, of deze via het argument van de functie aanroepen.
Gewijzigd op 18/12/2018 11:57:17 door - Ariën -
Super, bedankt voor de hulp.
Je kunt je ook afvragen waarom je de query in een aparte variabele stopt ($query)?
Enne:
Quote:
WHERE page="'.$pagina.'"'
Ik weet niet waar $pagina vandaan komt, maar je doet er verstandig aan om alle ingevoegde DATA in een SQL-string te escapen met de daarvoor bestemde functie/methode, en dit altijd in combinatie met quotes. Het een is niet veilig zonder het ander.
Gewijzigd op 18/12/2018 15:20:26 door Thomas van den Heuvel
Je kan een bestand aanmaken, bijvoorbeeld connect.php of config.php en hierin de PDO verbinding maken. Vervolgens kun je op andere plekken in je code deze verbinding importeren.
config.php
Code (php)
1
2
3
4
5
6
2
3
4
5
6
try {
$connect = new PDO('mysql:host='._HOST_NAME_.';dbname='.db, username, password);
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $exception) {
echo 'Error' . $exception->getMessage();
}
$connect = new PDO('mysql:host='._HOST_NAME_.';dbname='.db, username, password);
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $exception) {
echo 'Error' . $exception->getMessage();
}
In je andere bestand roep je de verbinding op door:
Vervolgens kun je alle data ophalen uit de database:
Gewijzigd op 27/12/2018 17:25:20 door - Ariën -
Daarbij, het is beter om een functie waarden (geformatteerd) te laten teruggeven, in plaats van deze rechtstreeks uit te spugen. Als je de resultaten retourneert kun je altijd nog besluiten wat je er mee doet.