Hey,

Ik heb de volgende code:

<?php
$servername = "server";
                                  $username = "gebruikersnaam";
                                  $password = "wachtwoord";

                                  try {
                                      $dbh = new PDO("mysql:host=$servername;dbname=blog_categories", $username, $password);
                                      // set the PDO error mode to exception
                                      $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                                      echo "Connected successfully";
                                      }
                                  catch(PDOException $e)
                                      {
                                      echo "Connection failed: " . $e->getMessage();
                                      }

                                      $sql=$dbh->query("SELECT blog_categories . * , COUNT( blog_posts.id ) AS count FROM blog_categories LEFT JOIN blog_posts ON blog_posts.id = blog_categories.ID GROUP BY blog_categories.ID ORDER BY count DESC LIMIT 0 , 30");
                                      while($row=$sql->fetch(PDO::FETCH_OBJ)) {
                                        echo $row->title.':'.$count;
                                      }
?>


Ik heb de echte inloggegevens even veranderd.....

Als ik nu mijn pagina bekijk stopt de pagina nadat deze code is uitgevoerd. Ik zie geen resultaat van de code en de rest van de pagina wordt ook wit. Hoe kan dit?

Ik de de sql query rechtstreeks in de database ingevoerd en dan werkt het wel, dus het kan daar niet aan liggen!

Als je een witte pagina ziet dan zal het script vastlopen op een foutmelding.
Kijk eens in de error-log.
Volgens mij mis ik ergens een execute ?
query() kan ook i.p.v. prepare() + execute().

Eerst zul je alle fouten uit je script moeten verwijderen, mijn eerste ingeving zou zijn dat dit script niet werkt omdat $count niet bestaat, dit moet waarschijnlijk $row->count zijn.

Ook doe je er verstanding aan om het melden + weergeven van foutmeldingen aan te zetten door de volgende snippet aan het begin van je code te zetten:
<?php
error_reporting(E_ALL);
ini_set('display_startup_errors', true);
ini_set('display_errors', 'stdout');
?>

En als dat (nog steeds) niet werkt (wit scherm) zul je in je errorlogs moeten kijken waar het misgaat.
Spamkickslotje

Reageren