PDO 'no database selected'
ch th
27/01/2013 18:40:48hallo,
ik wou vandaag beginnen om alle mysql functies zoveel mogelijk te vervangen door gebruik te maken van PDO. Maar een simpele databaseverbinding opzetten lukt al niet... ik heb op internet opgezocht en normaal zou dit moeten werken.
ik doe dit als volgt, en ik krijg de foutmelding 'no database selected'
ik wou vandaag beginnen om alle mysql functies zoveel mogelijk te vervangen door gebruik te maken van PDO. Maar een simpele databaseverbinding opzetten lukt al niet... ik heb op internet opgezocht en normaal zou dit moeten werken.
ik doe dit als volgt, en ik krijg de foutmelding 'no database selected'
PHP hulp
26/12/2024 09:09:40Moose -
27/01/2013 19:02:45ch th
27/01/2013 19:27:56het lukt me verder ook niet om een query uit te voeren. ik krijg nu de melding: "Fatal error: Call to a member function fetch() on a non-object...".
ik heb al gezocht wat er verkeerd gaat en de query wordt niet uitgevoerd. waar kan dit aan liggen want volgens verschillende tutorials zou dit moeten werken?
ik heb al gezocht wat er verkeerd gaat en de query wordt niet uitgevoerd. waar kan dit aan liggen want volgens verschillende tutorials zou dit moeten werken?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$db = new PDO('mysql:host=localhost;dbname=users', 'root', '');
$email = $db->quote($_POST['email']);
$sql_login = "SELECT user_id, voornaam, familienaam, displayname, email, wachtwoord, rang, date FROM users WHERE (email='". $email ."')";
$result_login = $db->query($sql_login);
$login = $result_login->fetch(PDO::FETCH_ASSOC);
?>
$db = new PDO('mysql:host=localhost;dbname=users', 'root', '');
$email = $db->quote($_POST['email']);
$sql_login = "SELECT user_id, voornaam, familienaam, displayname, email, wachtwoord, rang, date FROM users WHERE (email='". $email ."')";
$result_login = $db->query($sql_login);
$login = $result_login->fetch(PDO::FETCH_ASSOC);
?>
Mark D
27/01/2013 21:59:07Check eens de waarde van $result_login door middel van bijv een var_dump. Als $db->query(...) fout gaat returnt dit false, ipv een object, en dus kun je ook geen resultaten fetchen omdat de variabele een boolean is in dat geval.
ch th
28/01/2013 19:20:06ik weet al waar het probleem zit namelijk dat ik de quote() doe voor $_POST['email']
wanneer ik dit weglaat werkt het zoals het hoort.
maar nu vraag ik me af of dit de situatie onveiliger maakt?
wanneer ik dit weglaat werkt het zoals het hoort.
maar nu vraag ik me af of dit de situatie onveiliger maakt?