Archief - Q: #1064 error van mysql en weet niet waarom :s

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

PoMpElSiEn

Legacy Member
#1064 - 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 'check = d2380f63fe8dbd6e5b4800b21ca7644f LIMIT 0, 30' at line 1

dat is de error die ik krijg
PHP:
<?
elseif(isset($activeer))
{
	$md5_mail = $_GET['activeer'];
	
	$check_activeer = mysql_query("SELECT * FROM cp_mail WHERE check = ''$md5_mail'") or error("controle van de activatiestring mislukt");		
	$result = mysql_num_rows($check_activeer);

	if ($result == 1)
	{
		echo "de activatie is gelukt<br />";
		echo "welkom op onze mailing!";
		
		$check_update = "UPDATE cp_mail SET active='yes' WHERE check =".$md5_mail."";
		$sql = mysql_query($check_update) or error("update activatie mislukt");		
	}
	else 
	{
		echo" <font color=\"red\">jou activatiestring en degene in de database kloppen niet!";
	}

} 
?>

dit is het deel code waarin het gebeurt

Obliv`

Legacy Member
(ken niets van php of mysql)

maar doe je niets verkeerd met die " en ' bij de $md5_mail ?

en elseif's zie ik niet zo graag staan :)

Tombo

Legacy Member
PHP:
mysql_query("SELECT * FROM cp_mail WHERE check = ''$md5_mail'")
moet worden:
PHP:
mysql_query("SELECT * FROM cp_mail WHERE check = '".$md5_mail."'")

en

PHP:
"UPDATE cp_mail SET active='yes' WHERE check =".$md5_mail."";

naar

PHP:
"UPDATE cp_mail SET active='yes' WHERE check ='".$md5_mail."'";

om code injections te vermijden.

Greets

WHiSPy

Legacy Member
Is de lengte van uw kolom lang genoeg om die md5 te kunnen bevatten? :)

Die error kunt ge trouwens niet krijgen met dat stuk code. Je hebt in je error een "limit 0,30" staan, terwijl die in de code niet voorkomt. Verder ga je nergens je mysql error opvragen.

PoMpElSiEn

Legacy Member
ja de lengte klopt, als ik dezelfde string ook erin kan steken moetik die toch ook kunnen checken?

die error hebik gecopy/paste als ik de query in de database zelf
testte

dit is de error, ie ik krijg via het script zelf
fout opgetreden op Thu, 30 Jun 2005 04:06:26 -0400
Foutmelding: controle van de activatiestring mislukt
mysql error: 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 'check = ''d2380f63fe8dbd6e5b4800b21ca7644f'' at line 1
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan