Hoi,
Ben met een scriptje bezig en loop voor de zoveelste keer tegen een PDO "?bug?"aan
Als ik de laatste query uitvoer via phpmyadmin, krijg ik 467 rows terug, als ik het via dit scriptje doe krijg ik een empty result (array()).
Hoe komt dit, heb dat namelijk wel vaker en kan er m'n vinger niet opleggen.
een var_dump van het query result geeft:
Ben met een scriptje bezig en loop voor de zoveelste keer tegen een PDO "?bug?"aan
Als ik de laatste query uitvoer via phpmyadmin, krijg ik 467 rows terug, als ik het via dit scriptje doe krijg ik een empty result (array()).
Hoe komt dit, heb dat namelijk wel vaker en kan er m'n vinger niet opleggen.
PHP:
$Db=$this->getDb();
$page=$Db->quote($page);
$id=$Db->quote($this->iProjectId, PDO::PARAM_INT);
$Q=<<<EOS
SELECT DISTINCT(`language`) FROM `MultiLanguage` WHERE page=$page AND `project_id`=$id
EOS;
$Qres=$Db->query($Q);
$Qres->setFetchMode(PDO::FETCH_ASSOC);
$Array=$Qres->fetchAll();
$c=count($Array);
$Src='<label>Selecteer een bestaande taal</label><select name="language" id="language"><option>selecteer taal</option>';
for($i=0;$i<$c;$i++){
$Src.='<option>' . $Array[$i]['language'] . '</option>';
$lang=$Db->quote($Array[$i]['language']);
$Qopt[]='`code` != ' . $lang;
}
$Qopt=implode(' AND ', $Qopt);
$Src.='</select>';
$Q=<<<EOS
SELECT `code` FROM `LanguageCodes` WHERE $Qopt
EOS;
$Db=NULL;
$Db=$this->getDb();
$Qres=$Db->query($Q);
$Qres->setFetchMode(PDO::FETCH_ASSOC);
$Array=$Qres->fetchAll();
echo $Q;
/*
* Deze query MOET minimaal 467 results terug geven,..
* slechts een lege array krijg ik terug.
*/
echo '<pre>' . print_r($Array, true) . '</pre>';
$Src.='<label>Selecteer een nieuwe taal</label><select name="new_language" id="new_language"><option>selecteer taal</option>';
for($i=0;$i<$c;$i++){
$Src.='<option>' . $Array[$i]['code'] . '</option>';
}
$Src.='</select>';
return $Src;
een var_dump van het query result geeft:
Code:
object(PDOStatement)#9 (1) {
["queryString"]=>
string(57) " SELECT `code` FROM `LanguageCodes` WHERE `code` != 'nl'"
}
Laatst bewerkt: