Hallo,

Krijg een SQL error die als volgt is:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' = '' WHERE userid = '15' AND enqueteid = '1'' at line 4

De query waardoor dit komt heb ik inmiddels gevonden. Dat is de volgende:

<?
$sql = "UPDATE PP1 SET '".$PUT."' = '".$TUSSENSTAND."' WHERE userid = '".$USER."' AND enqueteid = '".$ENQUETE."' ";

$res = mysql_query($sql) or die(mysql_error());
?>

Deze query is echter goed. Deze wordt namelijk een paar keer meer gebruikt tijdens het doorlopen van het script en dan werkt hij wel goed :S.

Alleen de laatste keer dat hij gebruikt moet worden dan geeft hij deze error :S Iemand enig idee?
die foutmelding zegt dat $PUT leeg is, en voor deze query houdt dat in dat hij niet weet welk veld hij moet updaten.

Tevens is $TUSSENSTAND ook leeg.
<?
$sql = "UPDATE PP1 SET '".$PUT."' = '".$TUSSENSTAND."' WHERE userid = '".$USER."' AND enqueteid = '".$ENQUETE."' ";

$res = mysql_query($sql)
// or die(mysql_error());
echo $sql;
?>

wat krijg je dan?
Dan krijg ik:
UPDATE PP1 SET '' = '' WHERE userid = '15' AND enqueteid = '1'

Als ik echter handmatig waardes geef aan $PUT en $TUSSENSTAND dan komen deze wel in bovenstaande echo te staan maar de SQL error blijft.

het rare is dat hij dezelfde query bij andere vragen op de pagina ook gebruikt. Alleen dan zijn de vars PUT en TUSSENSTAND wel gevuld.

Controleer eerst of de variabele $PUT wel bestaat voordat je de query uitvooert.

Dus

<?php
if(isset($PUT))
{
// de query
}
?>
Daar staat een waarde met betrekking tot wat voor soort vraag het is. bijvoorbeeld: ingetogen. Als ik echter vraagsoort bekijk dan is de waarde daarvan leeg :S

Dus dan kan hij ook niks in $PUT en $TUSSENSTAND zetten.

Ik begrijp echter niet waardoor antwoordsoort leeg is, want die wordt met de submit meegestuurd.
Komt dit toevallig uit een formulier? (zo ja gebruik dan $_POST['put'] of $_GET['put'])
<?php
$sql = "UPDATE PP1 SET '".$PUT."'
?>
moet sowieso zijn:
<?php
$sql = "UPDATE PP1 SET ".$PUT."
?>
om de veldnaam mogen geen single quotes staan.
En natuurlijk moet er iets in de variabele staan.
ah dat van Jan is aangepast, maar de error blijft.

Ik ben er nu achter dat antwoordsoort leeg is op de 1 of andere manier.

Eens kijken waarnaartoe ik het kan afleiden zodat ik straks hier weer wat meer duidelijkheid kan posten.
Check het eens zo:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
print_r ($_POST);
}
?>
dan zie je of er iets in de POST array zit.

Reageren