Waarvoor dient de regel "elseif ($result->num_rows)" in onderstaande code?

require_once 'login.php';
$connection =
new mysqli($db_hostname, $db_username, $db_password, $db_database);
if ($connection->connect_error) die($connection->connect_error);

if (isset($_SERVER['PHP_AUTH_USER']) &&
isset($_SERVER['PHP_AUTH_PW']))
{
$un_temp = mysql_entities_fix_string($connection, $_SERVER['PHP_AUTH_USER']);
$pw_temp = mysql_entities_fix_string($connection, $_SERVER['PHP_AUTH_PW']);
$query = "SELECT * FROM users WHERE username='$un_temp'";
$result = $connection->query($query);
if (!$result) die($connection->error);
elseif ($result->num_rows)
{
$row = $result->fetch_array(MYSQLI_NUM);
$result->close();
$salt1 = "qm&h*";
$salt2 = "pg!@";
$token = hash('ripemd128', "$salt1$pw_temp$salt2");
if ($token == $row[3])
........
Eigenlijk is die regel niet echt netjes.

elseif ($result->num_rows) checked of $result->num_rows true of false is.
En dat is het niet.
Het is een getal.

Dit is netter en duidelijker:
elseif ($result->num_rows > 0) (groter dan nul)
Bij nul is er geen resultaat en valt er niks te laten zien.
- SanThe - op 17/07/2015 21:05:06

Eigenlijk is die regel niet echt netjes.

elseif ($result->num_rows) checked of $result->num_rows true of false is.
En dat is het niet.
Het is een getal.

Dit is netter en duidelijker:
elseif ($result->num_rows > 0) (groter dan nul)
Bij nul is er geen resultaat en valt er niks te laten zien.



Ok, thanks. Ik kon het niet zo goed plaatsen, met die > 0 erachter was het meteen duidelijk geweest. Nu las ik num_rows te letterlijk en dacht dat het aantal rijen verplaats zou worden naar $results, wat gezien de code erna niet logisch zou zijn.

Reageren