[PHP]variabele in een query

Pagina: 1
Acties:

  • pachacuti
  • Registratie: Januari 2002
  • Laatst online: 12-09 23:58
Ik zit al heel de avond te zoeken naar een fout en ik kom er niet uit.

Ik heb een PHP-functie die er zo uitziet:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
function get_userid($sessid, $cookietime, $remote_ip, $db,$naam) {

$mintime = time() - $cookietime;
$sql = "SELECT user_id FROM forums" . $naam .  "sessions WHERE (sess_id = $sessid) AND (start_time > $mintime) AND (remote_ip = '$remote_ip')";
$result = mysql_query($sql, $db);
if (!$result) {
echo mysql_error() . "<br>\n";
die("Error doing DB query in get_userid_from_session()");
}
$row = mysql_fetch_array($result);

if (!$row) {
return 0;
} else {
return $row[user_id];
}

} 
?>

Als ik dit bekijk in de browser krijg ik altijd de foutmelding:
Table 'site.forumssessions' doesn't exist
Error doing DB query in get_userid_from_session()

Je zou denken simpel, dan is het gewoon $naam die niet werkt. Die werkt dus wel.
Ik heb in die functie als test eens geplaatst echo $sql en daar kreeg ik mooi de tekst van de query waar $naam ingevuld is maar als de query gewoon wordt uitgevoerd krijg ik altijd die foutmelding.

Ik snap er niks meer van :?

Wim

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

zet er ff [php] en [./php] omheen (zonder de .)

Doet iets met Cloud (MS/IBM)


  • Tain
  • Registratie: Januari 2002
  • Laatst online: 20-07 20:32
Heet je Table dan echt zo?

  • pachacuti
  • Registratie: Januari 2002
  • Laatst online: 12-09 23:58
Op maandag 28 januari 2002 20:29 schreef Tain het volgende:
Heet je Table dan echt zo?
Mijn tabel noemt forumstestsessions.
$naam moet dus "test" zijn.
Als ik in die functie echo $naam doe is de waarde ook daadwerkelijk "test".
Maar als die query loopt blijkbaar dus ineens niet meer.
:)

  • Tain
  • Registratie: Januari 2002
  • Laatst online: 20-07 20:32
als je in de functie ook een
PHP:
1
2
3
<?
print("$naam");
?>

zet, geeft ie dan ook test aan of niet?

  • pachacuti
  • Registratie: Januari 2002
  • Laatst online: 12-09 23:58
Op maandag 28 januari 2002 20:37 schreef Tain het volgende:
als je in de functie ook een
PHP:
1
2
3
<?
print("$naam");
?>

zet, geeft ie dan ook test aan of niet?
Ja. Ik snap er niks meer van, ik denk niet dat ik iets verkeerd doe.

Verwijderd

probeer eens de tabel naam voor de query al te genereren, dus dat je iets van:
$tabel = "forums". $naam ."sessions";
neemt en dat $tabel als tabelnaam invult...

  • pachacuti
  • Registratie: Januari 2002
  • Laatst online: 12-09 23:58
Dan krijg ik juist hetzelfde probleem.
Alles gaat goed tot die variabele in die query moet.

Zoiets heb ik nog nooit meegemaakt.

Verwijderd

misschien helpt het als je na forums en voor sessions een spatie doet... :
PHP:
1
2
3
<?
SELECT user_id FROM forums " . $naam .  " sessions WHERE 
?>

[edit]
want als $naam dan bijvoorbeeld webskipper is dan krijg je:
PHP:
1
2
3
<?
forumswebskippersessions
?>

  • pachacuti
  • Registratie: Januari 2002
  • Laatst online: 12-09 23:58
werkt ook niet.
Pagina: 1