Ik heb het volgende script(stukje uit het hele script)
<?php
$mysql = new PDO($db_soort.':host='.$db_host.';dbname='.$db_naam , $db_user , $db_pass , array(PDO::ATTR_PERSISTENT => true));
$currentuser = $_SESSION['m_id'];
$theroom = (int)$_GET['room'];
$sqlqueryeen = "SELECT m.username,m.member_id, m.thumb FROM member AS m, rooms AS r WHERE m.member_id = r.owner AND r.id = ".$theroom;
$prepareeen = $mysql->prepare($sqlqueryeen);
$prepareeen->execute();
$dataeen = $prepareeen->fetch();
if($dataeen['member_id'] == $currentuser)
{
$sqlquerytwee = "SELECT m.username, m.member_id, m.thumb FROM member AS m, rooms AS r WHERE m.member_id = r.joiner AND r.id = ".$theroom;
$preparetwee = $mysql->prepare($sqlquerytwee);
$preparetwee->execute();
}
?>
Ik weet dat ik beter de room kan doorsturen in de execute functie zelf, maar dat heb ik zelfs weggehaald omdat 't maar niet werkte. Deze error krijg ik:
Fatal error: Call to a member function execute() on a non-object in /var/www/vhosts/dates4jou.nl/httpdocs/chat/head.php on line 34
Dit is de lijn: $preparetwee->execute();
Nu heb ik heb al geprobeerd de eerste execute weg te commenten, en dan gewoon met if(true). Dan werkt de $preparetwee wel, maar dan werkt de eerstvolgende ->execute() weer niet. Ik vind dit heel vreemde bug xD. O ja, als ik voor iedere ->execute() m'n $mysql opnieuw definieer, dus met $db_host etc. Werkt 't weer wel. Echt heel vreemd :S
Oh, en heb ergens anders ff dit scriptje gemaakt om te testen:
<?php
$mysql = new PDO($db_soort.':host='.$db_host.';dbname='.$db_naam , $db_user , $db_pass , array(PDO::ATTR_PERSISTENT => true));
$smile = $mysql->prepare("SELECT * FROM smilies");
$rooms = $mysql->prepare("SELECT * FROM rooms");
$smile->execute();
while($a = $smile->fetch())
{
print_r($a);
}
$rooms->execute();
while($b = $rooms->fetch())
{
print_r($b);
}
?>
En dat werkt gewoon perfect. Op dezelfde host.
1.372 views