1.2.542. Iffectations

Affectations that appears in a condition.

Iffectations are a way to do both a test and an affectations. They may also be typos, such as if ($x = 3) { }, leading to a constant condition.

<?php

// an iffectation : assignation in a If condition
if($connexion = mysql_connect($host, $user, $pass)) {
    $res = mysql_query($connexion, $query);
}

// Iffectation may happen in while too.
while($row = mysql_fetch($res)) {
    $store[] = $row;
}

?>

1.2.542.1. Suggestions

  • Move the assignation inside the loop, and make an existence test in the condition.

  • Move the assignation before the if/then, make an existence test in the condition.

1.2.542.2. Specs

Short name

Structures/Iffectation

Rulesets

All, Analyze

Exakat since

0.8.4

PHP Version

All

Severity

Minor

Time To Fix

Quick (30 mins)

Precision

Very high

Features

assignation

Available in

Entreprise Edition, Exakat Cloud