La difficulté de l'exécution d'une requête SELECT dans une déclaration préparée à l'avance

Ive suivi un tas de différents exemples concernant l'utilisation d'un SELECT dans une déclaration préparée à l'avance, mais rien n'est renvoyé.
MODIFIER j'ai changé mon code un peu à ressembler à ceci:

$date1 = 2012-01-01;
$date2 = 2012-01-31;
$sql_con = new mysqli('db', 'username', 'password', 'database');

if($stmt = $sql_con->prepare("SELECT eventLogID FROM Country WHERE countryCode=? AND date BETWEEN ? AND ?")){

   $stmt->bind_param("sss", $country_code, $date1,$date2); 

    $stmt->execute();

  $i=0;
  while ($stmt->fetch()){
  $stmt->bind_result($row[$i]);
  $i++;
  }

  $stmt->close();
$sql_con->close();

Maintenant toutes les entrées, à l'exception de la première, sont ajoutés à $row[]. Pourquoi n'est pas la première entrée ajoutés?
Merci à l'avance!

Vous utilisez * dans votre requête, mais $ligne dans votre bind_result($row). bind_result doit contenir les colonnes, je pense. Lire la suite ici: nl3.php.net/manual/en/mysqli-stmt.bind-result.php de Sorte que votre $row variable contient la première colonne de ce qu'elle est * moyens. (Éviter * dans toutes vos requêtes, mais c'est un autre sujet).

OriginalL'auteur Glenncito | 2012-07-20