Avatar
Marek Burda
Člen
Avatar
Marek Burda:

zdravím rád by som potreboval zistiť prečo mi to hádže syntax errory ? Pravdepdobne mám premeny zle zapísané. Kód vie o čo ide , ale pri eerrore mi zobrazí čísla týchto premien a tím pádom sa dalej kód logicky neprečíta a neurobí to čo má. potbeujem to takto cez premeny nemôžem updatovať dve databázy naraz kvôli pár veciam... tak by som bo lrád ak by ste mi pomohli nájsť chybu popríapde opraviť kód ..... chyba nasakuje pri premene $zrna , $dwater , a $bread

if ($predmet==bread )
{
$server = "xxxxx";
  $username = "xxxxxx";
  $password = ""xxxxxx";
  $database = ""xxxxxx";
  $con = mysql_connect($server, $username, $password);
  $ok = mysql_select_db($database, $con);
 $iuu = mysql_query("SELECT * FROM tz_predmety WHERE id = '$id' ");
$ha = mysql_fetch_assoc($iuu);
$zrno = $ha['zrno'];
$dwater = $ha['dwater'];
$bread = $ha['bread'];


    $sql = "UPDATE tz_members SET  mince=mince-'20', xp=xp+'15', crafting=crafting+'1',  energia=energia-'6' , $bread=$bread+'1' , $zrno=$zrno-'1' , $dwater=$dwater-'1' WHERE id='$id' AND mince >= '20' AND $energia >= '6' AND $zrno > '0' AND $dwater > '0' ";
    mysql_query($sql) or die(mysql_error());


;}
 
Odpovědět 9.9.2015 18:50
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na Marek Burda
Marek Z.:
$password = ""xxxxxx";
$database = ""xxxxxx";

Máš i na produkci s údaji ze začátku 2x uvozovky? (")

Nahoru Odpovědět 9.9.2015 19:37
Chybami se člověk učí, běžte se učit jinam!
Avatar
Marek Burda
Člen
Avatar
Marek Burda:

Nie nemám.... to som preklikol ked som vymazoval heslo to neriešte :) Tam by som na chybu prišiel... teraz vieme že chyba je pri tej premene.

 
Nahoru Odpovědět 9.9.2015 19:42
Avatar
Marek Burda
Člen
Avatar
Marek Burda:

Chyba je vpaitom riadku odspodu pri update sql. Program aj vie zistiť čísla z databázy, no neche nejako z kódom pokračovať.

 
Nahoru Odpovědět 9.9.2015 19:46
Avatar
Marek Burda
Člen
Avatar
Marek Burda:

Prihadzuem error

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '12=12+'1' , 5=5-'1' , 4=4-'1' WHERE id='1' AND mince >= '20' AND >= '6' AND 5 >' at line 1

 
Nahoru Odpovědět 9.9.2015 19:51
Avatar
Michal Kuba
Redaktor
Avatar
Odpovídá na Marek Burda
Michal Kuba:

Nemělo by být na začátku toto:?

if ($predmet=='bread' )

prostě bread v uvozovkách? Aby to porovnávalo s textovým řetězcem.

a pak teda u proměnné password a database máš nějaké uvozovky navíc možná

 
Nahoru Odpovědět 9.9.2015 19:51
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na Marek Burda
Marek Z.:

Nechápu ty proměnné doplněné na místo tabulek: $bread, $zrno, $dwater..

Nahoru Odpovědět 9.9.2015 19:52
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na Marek Burda
Martin Konečný (pavelco1998):

V tom SQL dotazu používáš proměnné jako názvy sloupce, proto ti to hodí věci jako 12=12+1, 5=5-1 atd.

 
Nahoru Odpovědět 9.9.2015 19:53
Avatar
Marek Burda
Člen
Avatar
Marek Burda:

Nie nei chlapci opakujem. Kód sám o sebe funguje tie úvodzovky som zle prepísal len tu na fóre. Chyba je v premene kedy začínam do kódu písať toto:

$bread=$bread+'1' , $zrno=$zrno-'1' , $dwater=$dwater-'1'

Ako vidíte v erroe, zistí to hodntoy z databázi , no robí to problém zo syntaxom

 
Nahoru Odpovědět 9.9.2015 19:54
Avatar
Marek Burda
Člen
Avatar
Marek Burda:

SILFER tam dávam kodu vedieť o čo vlasnte ide. Martin konečný to zanmená že to mám nejako prepísať ?

 
Nahoru Odpovědět 9.9.2015 19:56
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na Marek Burda
Marek Z.:

Ano hodnoty to zjistí, ale máš sloupce 12, 5, .. v tabulce?

Nahoru Odpovědět 9.9.2015 19:56
Chybami se člověk učí, běžte se učit jinam!
Avatar
hitzoR
Člen
Avatar
Odpovídá na Marek Burda
hitzoR:
$bread=$bread+'1' , $zrno=$zrno-'1' , $dwater=$dwater-'1'

změň na

bread=$bread+'1' , zrno=$zrno-'1' , dwater=$dwater-'1'
 
Nahoru Odpovědět  ±0 9.9.2015 19:58
Avatar
Marek Burda
Člen
Avatar
Marek Burda:

Unknown column 'zrno' in 'where clause'
Ďalší error. Tento error hádže preto lebo ked vymažem $ pred zrno tak logicky program nevie čo to zrno je kedže ho nemám premenené.

zrno a dalšie premdety čo sa znaším premeniť nepochádzaju z tabulľky tz_members ktorá sa udpatuje, ale z tabuľky tz_predmety ktorú mám identifikovanú v kódoch vyššie

Editováno 9.9.2015 20:36
 
Nahoru Odpovědět 9.9.2015 20:34
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Marek Burda
IT Man:

Nevím, zda to chápeš, ale ve WHERE klauzuli nemůžeš upravovat PHP proměnné. Ty si buď definuj až za tím nebo si do dotazu dosaď správné sloupce.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 9.9.2015 20:42
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Avatar
Marek Burda
Člen
Avatar
Marek Burda:

No tak ako to mám definovať ked potrebbujeme zadať podmeinyk aj z jednej tabuľky aj z druhej ? A ako píšem - kvôli ID nemôžem updatovať a nahrať obidve tabuľky do jeného kodu

Editováno 9.9.2015 20:52
 
Nahoru Odpovědět 9.9.2015 20:51
Avatar
shaman
Člen
Avatar
Odpovídá na Marek Burda
shaman:

Vies nam sem napisat co ti vyhodi ak pustis toto v sql?

describe tz_members;
Nahoru Odpovědět 14.9.2015 16:01
try {...} catch (Exception ignored) { echo " ¯\_(ツ)_/¯ "; }
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.