Try rewriting your code as:
while ($rij1 = mysql_fetch_object($result1))
{
if ($voornaam === NULL)
{
$rij2 = ' ';
}
else
{
$rij2 = mysql_fetch_object($result2);
}
}
Edit: Corrected your condition in the first if
, as @andrewsi spotted - =
is an assignment operator, so previously your code was changing $voornaam
to NULL
, then checking if the result evaluated to true
(which, of course, it never would - so the second block would always execute)
In your original code, you're using the and
operator - presumably having seen it used in some well meaning but poorly coded examples like mysql_connect(...) or die('an error occurred');
.
What's happening in that example is that the result of the first statement - mysql_connect()
- is checked. If it evaluates to true, the second statement never executes, but if it evaluates to false then the second statement - die('an error occurred');
- is executed. As you've just discovered, this pattern is confusing and best avoided.
and
andif
there?and
expects expressions as its operands, not statements. What are you trying to do? – Felix Klingmysql_*
functions in new code. They are no longer maintained and the deprecation process has begun on it. See the red box? Learn about prepared statements instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial. – tereško