PHP Error 2

Status
Niet open voor verdere reacties.

NeedForSpeed

Gebruiker
Lid geworden
17 jan 2008
Berichten
245
PHP:
$coins = ($_POST[coins]);
$id = ($_POST[id]);
odbc_exec($connection, "UPDATE dbo.Account SET SPECoins = SPECoins + $coins WHERE userid = '$_POST[id]' ");

Kleine gedeeltes van het script maar hij zegt dat syntax bij id is onjuist.

Iemand idee waarom?
 
Probeer eens dit:
PHP:
$coins = $_POST['coins'];
$id = $_POST['id'];
odbc_exec($connection, "UPDATE dbo.Account SET SPECoins = SPECoins + $coins WHERE userid = '" . $_POST['id'] . "' ");

Je kan best variabelen tussen aanhalingstekens gebruiken, maar bij arrays kan dit niet. Overigens als "id" een getal is, is het niet verplicht om er aanhalingstekens omheen te hebben staan.
 
Laatst bewerkt:
Nog steeds zelfde error.

Ik geef de hele code wel, + id is het userid gebruiksnaam wat gepost is.

PHP:
    showmessage();
    if( isset($_POST['sendcoin']) )
    {
	$aid = odbc_exec($connection, "SELECT AID FROM {$_CONFIG[AccountTable]}(nolock) WHERE UserID = '$_SESSION[UserID]'");
	$wtf = odbc_result($aid,1);
	$coins = $_POST['coins'];
	$id = $_POST['id'];
	$coins = odbc_exec($connection, " 
	SELECT SPECoins FROM dbo.Account WHERE UserID = '$_SESSION[UserID]'");
	$_SESSION[SPECOINS] = odbc_result($coins,1);
    if($_SESSION[SPECOINS] >= 0)
	{ 
	odbc_exec($connection, "UPDATE dbo.Account SET SPECoins = SPECoins + $coins WHERE userid = '" . $_POST['id'] . "' ");
	echo "<script>alert(\"Sended.\");</script>";
            redirect("sendcoin.php");
            die();
        }
        else
        {
	    echo "<script>alert(\"Error.\");</script>";
            redirect("sendcoin.php");
            die();
	}
}
 
Je hebt op nog meer plekken in je query arrays binnen strings gebruikt. En je bent vergeten om extra aanhalingstekens te gebruiken.

Vervang ze een overal door de constructie die je hierboven gezien hebt.

Dus niet meer:
PHP:
$string = "tekst met een $array['erin']";
Maar
PHP:
$string = "tekst met een " . $array['erin'];

Dat zou enigsinds moeten helpen. Tevens zou duidelijkere foutmeldingen ook geen kwaad kunnen ;) Waar komt die melding vandaan?
 
Ik heb je code wat mooier gemaakt maar kijk toch eff je mengt userid session en post toch kan er op termijn fouten door ontstaan


PHP:
<?php
showmessage();
    if( isset($_POST['sendcoin']) ){
    	$aid = odbc_exec($connection, "SELECT AID FROM {".$_CONFIG[AccountTable]."}(nolock) WHERE UserID = '".$_SESSION[UserID]."'");
    	$wtf = odbc_result($aid,1);
    	$coins = $_POST['coins'];
    	$id = $_POST['id'];
    	$coins = odbc_exec($connection, "SELECT SPECoins FROM dbo.Account WHERE UserID = '".$_SESSION[UserID]."'");
    	$_SESSION[SPECOINS] = odbc_result($coins,1);
    	if($_SESSION[SPECOINS] >= 0){ 
    		odbc_exec($connection, "UPDATE dbo.Account SET SPECoins = SPECoins + $coins WHERE userid = '" . $_POST['id'] . "' ");
   			echo "<script>alert(\"Sended.\");</script>";
            redirect("sendcoin.php");
            die();
        }else{
        	echo "<script>alert(\"Error.\");</script>";
            redirect("sendcoin.php");
            die();
    	}
}
?>

ps: kan ik eens de redirect function zien het lijkt of u mijn cms gebruikt of mijn code (vrij te gebruiken binnen php)
 
Laatst bewerkt:
Ik gebruik niemands code, dit is allemaal van mijzelf. nogmaals, werkt het niet.

Ik zie het probleem al ik heb twee keer een $coins. 1 voor de post function, 1 voor het opvragen van mijn aantal coins.

Ik heb de tweede zijn naam veranderd en hij werkt


Vraag opgelost. bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan