[PHP] Simpele Query werkt niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • RMX
  • Registratie: Augustus 2000
  • Laatst online: 18-09 21:56
Ik ben bezig met het ontwikkelen van een intranet site voor stage. Als er iemand inlogged moet er op de homepage een tekst "Welkom $naam $achternaam" weergeven worden. Dit heeft in het begin altijd gewerkt, maar sinds een paar weken werkt het niet meer. Ik ben hier heel lang mee bezig geweest maar na een tijd besloot ik maar om er een @ voor te zetten want ik heb nog genoeg te doen aan het intranet.

De meeste ingewikkelde dingen gaan goed, maar dit simpele ding wil gewoon niet werken.
Als ik de query in phpMyAdmin invoer krijg ik een correcte uitvoer.
Als ik $ID in de query vervang met 1 bijvoorbeeld krijg ik ook niks.
Hier onder de code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
if($action == 'loguit')
{
setcookie('user_id', '', time()+60*60*24*7*52, '/');
setcookie('password', '', time()+60*60*24*7*52, '/');
session_destroy();
?>
<meta http-equiv=refresh content=0;url=index.php>
<?
}
else
{
    $id = $_COOKIE['user_id'];
    if(empty($id))
    {
    echo "Nog niet ingelogged";
    }
    else
    {
        include('db.php');
        $ID = $_COOKIE['user_id'];
        $result = mysql_query("SELECT naam, achternaam FROM leden WHERE id = ".$ID."");
        $row = mysql_fetch_array($result);      
        print "<font size=1>Welkom $row->naam $row->achternaam <br>
             [<a href='#'>Popup</a>] - [Hier stond iets wat de layout verneukt]</font>";
    }
}
?>


edit:

Dit is btw de foutmelding:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\appserv\www\personeel\inc\logged.php on line 23

Deze pagina word geinclude, maar ik zie gewoon niet wat ik fout doe...

Wie kan me op weg helpen ?? O-)

[ Voor 16% gewijzigd door RMX op 22-10-2004 12:48 ]


Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Nu online

darkrain

Moderator Discord

Geniet

je kunt or die(mysql_error()); toe voegen achter mysql_query() op de plaats van de ;

Dan krijg je:
PHP:
1
$result = mysql_query("SELECT naam, achternaam FROM leden WHERE id = ".$ID."") or die(mysql_error());

[ Voor 44% gewijzigd door darkrain op 22-10-2004 12:50 ]

Tweakers Discord


Acties:
  • 0 Henk 'm!

Verwijderd

Waarom doe je $ID = $_COOKIE['user_id'];?
Je hebt hem toch al in $id zitten?

Acties:
  • 0 Henk 'm!

  • RMX
  • Registratie: Augustus 2000
  • Laatst online: 18-09 21:56
Hmm jimmy, idd, maar ik heb vanalles geprobeerd tijdens het debuggen maar inderdaad die kan er uit..

Ik voeg nu ff die error toe...

edit:

Als error geeft ie:
Geen database geselecteerd
Als ik de pagina van db.php der inzet werkt het wel maar krijgt ie geen output

[ Voor 36% gewijzigd door RMX op 22-10-2004 12:56 ]


Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Nu online

darkrain

Moderator Discord

Geniet

Je vraagt een array en gebruikt vervolgens objecten?

Ik kan me vergissen maar volgens mij moet je
PHP:
1
$row['naam']
en voor achternaam net zo gebruiken. ipv
PHP:
1
$row->naam

[ Voor 20% gewijzigd door darkrain op 22-10-2004 12:58 ]

Tweakers Discord


Acties:
  • 0 Henk 'm!

  • erkje
  • Registratie: Oktober 2001
  • Laatst online: 12-06-2024
Welkom $row->naam $row->achternaam
Kijk, zo gebruik je $row als object. Het is echter een Array.
Probeer dit eens:

$row['naam']
$row['achternaam']

[edit]hmm, te laat

[ Voor 16% gewijzigd door erkje op 22-10-2004 12:59 ]

taste and see that the Lord is good


Acties:
  • 0 Henk 'm!

Verwijderd

doe een require op db.php voor je database connectie.
mysql_connect() + mysql_select_db

en zet $id tussen ' '. dus: WHERE id = '$id';

maar volgens mij is $id gereserverd in php voor sessievariabele.

Acties:
  • 0 Henk 'm!

  • RMX
  • Registratie: Augustus 2000
  • Laatst online: 18-09 21:56
Mijn dank gaat uit aan jullie
Danku!!

Dit was het idd, ik ben nog niet zo heel bekend met dat mysql_fetch_array & object. Ik ga nu meteen opzoeken wat de verschillende zijn tussen die 2

Acties:
  • 0 Henk 'm!

  • erkje
  • Registratie: Oktober 2001
  • Laatst online: 12-06-2024
Verwijderd schreef op 22 oktober 2004 @ 13:01:
doe een require op db.php voor je database connectie.
mysql_connect() + mysql_select_db

en zet $id tussen ' '. dus: WHERE id = '$id';

maar volgens mij is $id gereserverd in php voor sessievariabele.
Nee, kom nou. Dat kun je op zich wel nakijken in de php.ini, maar meestal is dat de standaardwaarde en die noemen we PHPSESSID ofzo.
Ik gebruik heel vaak $id, nooit problemen mee.
Een require zou misschien mooier zijn, maar niet de oplossing.

taste and see that the Lord is good


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 22 oktober 2004 @ 13:01:
doe een require op db.php voor je database connectie.
mysql_connect() + mysql_select_db

en zet $id tussen ' '. dus: WHERE id = '$id';

maar volgens mij is $id gereserverd in php voor sessievariabele.
Als $id een int is hoeft dat niet. (Checken of $id idd een int is, kan natuurlijk nooit kwaad).

En $id is ook niet gereserveerd.
Pagina: 1