Fout met query :You have an error in your SQL syntax; check the manual that corr

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Onbekend Onbekend

Onbekend Onbekend

26/06/2006 21:23:00
Quote Anchor link
Ik krijg deze fout:
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 '= '1' WHERE name = 'tdr93'' at line 4

Met deze query:
UPDATE users SET
money = '" . $money . "' ,
skill = '" . $newskill."' ,
" . $item . " = '1'
WHERE name = '" . $_SESSION['suser'] . "'

Wat moet ik veranderen?
 
PHP hulp

PHP hulp

17/11/2024 06:38:20
 
Jan Koehoorn

Jan Koehoorn

26/06/2006 21:27:00
Quote Anchor link
En zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$sql
= "
UPDATE users
SET
    money = '"
. $money . "',
    skill = '"
. $newskill."',
    "
. $item . " = 1
WHERE
    name = '"
. $_SESSION['suser'] . "'";
?>
 
Onbekend Onbekend

Onbekend Onbekend

26/06/2006 21:43:00
Quote Anchor link
Bedankt!

Hoe doe ik dit:
$money = $row['money'] - $prijs;
$newskill = $row['skill'] + $skill;
$prijs heeft een waarde... en $skill ook.

Maar volgensmij gaat dit niet... er komt gewoon -[prijs]..

dat is niet de bedoeling. Hoe moet dit?
 
Eris -

Eris -

26/06/2006 21:45:00
Quote Anchor link
Is $prijg een interget / getal?
 
Jason de Ridder

Jason de Ridder

26/06/2006 21:45:00
Quote Anchor link
$money = $row['money']-$prijs;, moet werken

Je voert wel de query uit? ($query = mysql_query($sql)) en daarna mysql_fetch_assoc($query) ?

edit:
en heb je daarvoor wel geselecteerd?
Gewijzigd op 01/01/1970 01:00:00 door Jason de Ridder
 
Onbekend Onbekend

Onbekend Onbekend

26/06/2006 21:46:00
Quote Anchor link
Wat is integer?:D

een positief getal? jah!

iets kan toch niet -€40,- kosten of wel?
 
Frank -

Frank -

26/06/2006 21:48:00
Quote Anchor link
Dan doe je toch iets fout in de rest van je script. Dit voorbeeldje werkt uitstekend, geen enkel probleem:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
error_reporting(E_ALL);

$prijs = 23;
$row['money'] = 50;

$money = $row['money'] - $prijs;

echo $money;
?>

En dat kun je zelf ook controleren door hier en daar even een variabele te echoen.
 
Jason de Ridder

Jason de Ridder

26/06/2006 21:49:00
Quote Anchor link
je kan geen euro teken gebruiken, he? en daarnaast kan 0 - 40, -40 worden
 
Onbekend Onbekend

Onbekend Onbekend

26/06/2006 21:50:00
Quote Anchor link
Dit is mijn script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php  
require ("session.php");  
require ("connect.php");
?>

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<title></title>
</head>

<body>
<p><?php include("bar.php"); ?></p>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
<?php
error_reporting(E_ALL);
include ("prijs.php");
        $money = $row['money'] - $prijs;
        $newskill = $row['skill'] + $skill;  
    if ($row['money'] >= $prijs)
    {

    echo '<p class="content">Je hebt niet genoeg geld!</p>';
    }

    else
    {  
    $insert = "UPDATE users SET
    money = '"
. $money . "',
    skill = '"
. $newskill."',
    "
. $_GET['item'] . " = 1
    WHERE name = '"
. $_SESSION['suser'] . "'";
    mysql_query($insert)or die(mysql_error());
    echo '<p class="content">Item is gekocht!</p>';
}

?>

</td>
  </tr>
</table>
</body>
</html>


Edit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if ($_GET['item'] == 'ranger') {
$prijs = 8000;
$skill = 100;
}


if ($_GET['item'] == 'greenwood') {
$prijs = 4000;
$skill = 30;
}

?>

Is niet alles (s meer dan 1000 regels)
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
 
Frank -

Frank -

26/06/2006 21:52:00
Quote Anchor link
Tdr93:
Wat is integer?:D

een positief getal? jah!

iets kan toch niet -€40,- kosten of wel?
Een integer is een geheel getal. Dus 1, 2 en -1 zijn bijvoorbeeld integers. 1.5 is dus géén integer.

En waarom kan iets niet - € 40,- kosten? Dan krijg je gewoon geld toe. Wanneer jij dat niet wilt, zul je daar dus op moeten controleren.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($prijs <= 0){
  echo 'Minimumprijs is € 0,-';
}

?>
 
Jason de Ridder

Jason de Ridder

26/06/2006 21:52:00
Quote Anchor link
hmm... erg gevoelig voor sql-injection, post ook prijs.php eens? (kan wel gewoon in een edit)
 
Jan Koehoorn

Jan Koehoorn

26/06/2006 21:53:00
Quote Anchor link
Worden de variabelen $row['money'] en $row['skill'] aangemaakt in prijs.php? Dan gaat er daar iets fout.
 
Onbekend Onbekend

Onbekend Onbekend

26/06/2006 21:55:00
Quote Anchor link
Nee, die haalt hij uit een db...
 
Jan Koehoorn

Jan Koehoorn

26/06/2006 21:56:00
Quote Anchor link
Okee, dan zul je, zoals Frank al zei, op negatieve uitkomsten moeten testen, als je die niet wilt. Ik kan me ook voorstellen dat je 'rood' kunt staan.
 
Jason de Ridder

Jason de Ridder

26/06/2006 21:57:00
Quote Anchor link
Ook even de waar je $_row['money'] vandaan haalt. (zelf gescript btw???)
 
Onbekend Onbekend

Onbekend Onbekend

26/06/2006 21:57:00
Quote Anchor link
Hoe?

Ja...
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
 
Jason de Ridder

Jason de Ridder

26/06/2006 22:00:00
Quote Anchor link
Ik stop met je te helpen, er worden antwoorden gegeven, als je die vertikt om te lezen, of gewoon netjes je code te posten (waar je variabelen vandaan hebt) en verw88 van ons dat wij helderziend zijn en het liefst ook nog je script herschrijven. ik stop ermee Succes!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.