Dag besten,

Ik heb een klein probleempje in verband met een table die verschild naargelang een variable.

Dit is de code :
<?php
$speler=$_POST['inlog'];
$inlog=$_POST['inlog'];
$datum= date("d-m-Y");
$tijd=date("H:i:s");
$ip=$_SERVER['REMOTE_ADDR'];
$nr=$_POST['begrippen']
$table='begrippen'.$nr;

include(*****);

mysql_query("INSERT INTO '$table' (speler, datum, btijd, ip, status) VALUES
('$speler', '$datum', '$tijd', '$ip', 'Onafgewerkt')");

$result = mysql_query("SELECT id FROM '$table' WHERE speler ='$speler' && btijd ='$tijd'");
while ($row = mysql_fetch_assoc($result)) {
$id=$row['id'];
}

echo "&id=".$id."&";
echo "&script=klaar&";

?>

Telkens komt er deze error :
Parse error: syntax error, unexpected T_VARIABLE in public_html/begrippena1.php on line 8

Dus hetgene dat moet gebeuren is gewoon de table naam die aanpast naargelang de nummer.
begrippen varieerd van 1 tot 15 en dus is de tabelnaam (begrippen1,begrippen2,begrippen3, ... )

Alvast bedankt!
punt-komma (;) vergeten op lijn 7.
Voor de rest moet je na iedere mysql*() aanroep testen op fouten, en de foutmelding afdrukken.
Je bent een puntkomma vergeten.
bedankt voor het snelle antwoord dan komt er dit :
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /public_html/begrippena1.php on line 16
&id=&&script=klaar&
Dat betekent dat mysql_query een return waarde van "false" heeft gekregen. Daar moet je dus op testen en de bijbehorende fout afdrukken.
Vars buiten quotes is nergens voor nodig. Variabele tabelnamen is ook geen probleem.
Wat wel fout is, is de tabelnaam tussen quotes zetten.

Dus niet: SELECT id FROM '$table'

maar: SELECT id FROM $table

[size=xsmall]Toevoeging op 03/11/2012 00:06:06:[/size]

De mysql_query op regel 12 doet het om dezelfde reden trouwens ook niet...
Willem: voor het escapen wel.
Je wilt variabelen gewoon buiten quotes. Ook al werkt het als "$iets" wel.
Voor escapen in SQL gebruik je backquotes en geen gewone. Sowieso is het gebruiken van backquotes een teken dat de naamgeving van je database-objecten niet goed is.

Variabelen buiten je strings halen maakt in veel gevallen je code volkomen onleesbaar en dus gevoeliger voor fouten. Bovendien degradeer je PHP ermee tot een of ander raar soort VBScript. Maar goed, dat is eigenlijk off-topic in dit draadje.

Reageren