We all make rookie mistakes, especially as rookies. In an act of humility, DJ sent us some PHP she wrote at the tender age of 19.

From the submission,

I recently ran across some code I wrote on my first project for a new company I'd just started working for. Part of the site required I show some content picked at random from a database. Since I'd only been doing PHP for about 6 months I was blissfully unaware of the array_rand function so I wrote this instead.
  // Create an array of all the ID's used
  $int = array();
  $query = $sql->query("SELECT * FROM table");
  while($row = $sql->objects('',$query)) {
      $int[ $row->id ] = $row->id;
      if ($row->id > $max) {
          $max = $row->id;

  // Find a random ID that has been used
  $x = false;
  while ($x == false) {
      $rand = rand(0,$max);
      foreach ($int as $thing) {
          if ($thing == $rand) {
              $x = true;

  // Get a row by random ID
  $query = $sql->query("SELECT * FROM table where id=".$rand);

I can only imagine what the code looks like since she's discovered array_rand but I didn't have the heart to tell her about SELECT * FROM table ORDER BY RANDOM() LIMIT 1 or the variants thereof.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!