Help: 1 cel uit database
Code (php)
1
2
3
4
2
3
4
<?php
$idsql = "SELECT id FROM users WHERE login = $_SESSION[login]";
$id = mysql_query($idsql);
?>
$idsql = "SELECT id FROM users WHERE login = $_SESSION[login]";
$id = mysql_query($idsql);
?>
en roep nu $id aan via:
doet het het niet. In welk script zit een fout?
Code (php)
1
2
3
2
3
<?
$idsql = "SELECT `id` FROM `users` WHERE `login` = '" . $_SESSION['login'] . "'";
$id = mysql_query($idsql); ?>
$idsql = "SELECT `id` FROM `users` WHERE `login` = '" . $_SESSION['login'] . "'";
$id = mysql_query($idsql); ?>
dan komt er te staan: Resource id #9
Terwijl die login id nummer 1 heeft!
Login en wachtwoord zijn opgeslagen in de sessies
nogmaals:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
$idsql = "SELECT `id` FROM `users` WHERE `login` = '" . $_SESSION['login'] . "'";
$res = mysql_query($idsql);
//-- kijk of er wel results zijn
//-- dit wordt dus aangegeven door
//-- Resource id #9 in dit geval
//-- dit betekend dat er resultaat is
//-- en dat de query is goed gegaan
if (mysql_num_rows($res) >= 1)
{
$id = mysql_result($res, 0);
}
echo "id nummer: " . $id . "<br />";
?>
$idsql = "SELECT `id` FROM `users` WHERE `login` = '" . $_SESSION['login'] . "'";
$res = mysql_query($idsql);
//-- kijk of er wel results zijn
//-- dit wordt dus aangegeven door
//-- Resource id #9 in dit geval
//-- dit betekend dat er resultaat is
//-- en dat de query is goed gegaan
if (mysql_num_rows($res) >= 1)
{
$id = mysql_result($res, 0);
}
echo "id nummer: " . $id . "<br />";
?>
ik gebruik mysql_result() nu omdat er slechts 1 kolom is geselecteerd in de query.. bij 2 of meer kolommen gewoon mysql_fetch_array() gebruiken, tenzij je liever dit gebruikt..
als je 2 of 3 kolommen selecteert kun je mysql_result() zo gebruiken:
Code (php)
1
2
3
4
5
2
3
4
5
<?
$kol1 = mysql_result($res, 0); // eerste
$kol2 = mysql_result($res, 0, 1); // tweede
$kol3 = mysql_result($res, 0, 2); //derde
?>
$kol1 = mysql_result($res, 0); // eerste
$kol2 = mysql_result($res, 0, 1); // tweede
$kol3 = mysql_result($res, 0, 2); //derde
?>
gewoon dus mysql_fetch_array() gebruiken want je ziet dat dit veel typwerk is met slechts 3 kolommen, dan is mysql_fetch_array() een stuk minder werk..
Gewijzigd op 01/07/2004 09:16:00 door B a s