[PHP] in array probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik check voor men forum (viewforum.php) om te beginnen of de variabele $_GET['f'] bestaat als dat TRUE is, dan kijk ik of hij die forum wel bestaat, want $_GET['f'] komt overeen met het forum id.
Nu had ik deze code:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

    $topic_sql = "SELECT id FROM topic";
    $topic_query = mysql_query($sql) or die(mysql_error());

    $row = array();

    $row = mysql_fetch_array($topic_query);

    if(in_array($_GET['f'], $row)) {

    echo "ja";

    } else {

    echo "nee!";

    }
?>


Werkt allemaal goed, behalve als het forum niet bestaat krijg ik nee met daarbij:


Warning: Wrong datatype for second argument in call to in_array in d:\program files\easyphp\www\hzgf\viewforum.php on line 45

Weet iemand wat ik fout doe?

Acties:
  • 0 Henk 'm!

  • Rickbv
  • Registratie: September 2000
  • Laatst online: 17-09 23:07
regel 4? => $topic_query = mysql_query($topic_sql) or die(mysql_error()); ?

Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 09-09 15:24
Als er geen resultaten uit de database volgen, dus 0 rows, dan is $row geen array en krijg je de foutmelding,
wat je zou kunnen doen, is:
code:
1
if(is_array($row) && in_array($_GET['f'], $row)) {

Acties:
  • 0 Henk 'm!

Verwijderd

Eerst even een
PHP:
1
2
if (isset($_GET['f'])) {
...

doen?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, ik begrijp het! Bedankt mensen... ik weet het nu!
Dom van mij, maar ik wist het eerlijk gezegd niet!
Je moet altijd naar de datatypes kijken, ik zal het nooit meer vergeten!

Acties:
  • 0 Henk 'm!

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 16-09 19:01

Tux

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php 
if (IsSet ($_GET['f']))
{
    $topic_sql = "SELECT id FROM topic WHERE id= '" . (int)$_GET['f'] . "'"; 
    $topic_query = mysql_query($sql) or die(mysql_error()); 
    
    if (mysql_num_rows ($topic_query) == 1)
    {
        echo "Het forum bestaat";
    }
    else
    {
        echo "Het forum bestaat niet";
    }
} 
?> 


Laat je query zoveel mogelijk doen in dit geval.
En als je alle fora selecteert dan krijg je een onnodig grote resultset terug die nergens voor nodig is.

[ Voor 11% gewijzigd door Tux op 21-04-2003 18:53 ]

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.

Pagina: 1