Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: mysql count ongelma

pistemies [05.04.2007 11:11:24]

#

Tämmöinen juttu

function users(){
  $count = mysql_result(mysql_query("SELECT COUNT(Id) FROM Asiakkaat"),0) or  die (mysql_error());
      return($count);
}

Onko tuos jotain vialla: jos ei löydy yhtään riviä, ei palauta mitään vaan pysäyttää sivun tulostamisen.

Grez [05.04.2007 12:23:30]

#

Hyvin yksinkertaista. Jos mysql_result palauttaa 0, niin se tulkitaan falseksi, jolloin loogisen operaattorin or jälkeinen osuus suoritetaan => die(mysql_error());. Koska mysql-virhettä ei ole tapahtunut, on mysql_error() palauttama tyhjä, joten käytännössä tuossa vaan suoritetaan die().

Oikea tapa tehdä asia olisi:

function users(){
    $result = mysql_query("SELECT COUNT(Id) FROM Asiakkaat") or  die (mysql_error());
    $count = mysql_result($result,0);
    if ($count===false) die (mysql_error());
    mysql_free_result($result);
    return($count);
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta