ugrás a tartalomhoz

UPDATE query sikertelen

Anonymous · 2006. Szep. 24. (V), 18.38
Sziasztok.

Nem jövök rá, hogy mi nem stimmelhet....
<?php include("../skh/konn.php");?>
<?php

$uzenet = "TZ-671";
$q = "UPDATE wqs SET szalqa=szalqa+1 WHERE $uzenet=$kod;";

mysql_query($q);


echo "OK";
mysql_close($kapcsolat);
?>
azt a szalqa mezőt kellene frissítenie, ahol a kód megegyezik az uzenettel...

Biztosra veszem, hogy banális, de nem veszem észre....

Köszönöm a segítséget.
 
1

olvasd el, amit írsz

Hojtsy Gábor · 2006. Szep. 24. (V), 18.50
Az SQL parancsod
UPDATE wqs SET szalqa=szalqa+1 WHERE TZ-671 = $kod;
lesz, ha az $uezenet változót behelyettesítjük. Van egy TZ-671 nevű oszlopod? Gyanítom, hogy nincs. Gondold végig, hogy mit is szeretnél csinálni. Egyébként nem kell varászlónak lenni, mysql_query() után egy echo mysql_error() megmondja, hogy a MySQL szerint mi a hiba, az is ezt fogja mondani.
3

re:

Anonymous · 2006. Szep. 24. (V), 19.08
De van. Változót szeretnék behelyettesíteni, hogy amikor egy adathalmaz futtatja ezt a sscript-et, azokat a mezőket növelje egyel, amelyik sorban az adott mező szerepel.
5

:)

Anonymous · 2006. Szep. 24. (V), 19.21
igazad van, felcseréltem a kod az oszlop és az uzenet a mező....de a helyzet ua.
2

Zavaros megfogalmazás

Török Gábor · 2006. Szep. 24. (V), 18.58
Több dolog sem stimmel itt. Mi van a $kod változóban? A WHERE záradék kifejezésének egyik oldalán oszlopnév kéne, hogy szerepeljen. Ahogy a kódból kitűnik, ez a $kod lehet, habár a névkonvenciód nem erősít meg benne. (:

Minek a függvényében szeretnéd az UPDATE-et futtatni?

(A "valami nem stimmel...." helyett a továbbiakban légy szíves célratörő címet adni a fórumtémádnak.)
4

Re:

Anonymous · 2006. Szep. 24. (V), 19.11
Az $kod jelentené a tábla kod mezőjét. Ahol az $uzenet és az $kod egyezik, ott legyen növelés.

Ezt szeretném elérni.

ui.: a címre ezentúl ügyelni fogok..

köszönöm
6

Idézőjelet a stringek köré

Török Gábor · 2006. Szep. 24. (V), 20.04

<?php
$q = "UPDATE wqs SET szalqa=szalqa+1 WHERE '$uzenet' = $kod;";
7

SQL oszlopnév

Hojtsy Gábor · 2006. Szep. 24. (V), 20.07
Azt a tényt a szalqa növelésekor úgy tűnik már fel tudtad dolgozni, hogy az oszlopnevek nem dollárral jelöltek SQL-ben. Tehát:
"UPDATE wqs SET szalqa=szalqa+1 WHERE kod=$uzenet"
Namost ez még mindig nem korrekt. Erre is megadja a MySQL a hibaüzenetet a fent általam már megadott módszerrel. Mit is szeretnél? Egy szövegmezőt társítani egy szöveges értékhez. Namost a kód más részein úgy tűnik már sikerült bevetni az aposztrófot, mint karaktersorozat jelölőt. Használhatod az egyszeres idézőjelet is.
"UPDATE wqs SET szalqa=szalqa+1 WHERE kod='$uzenet'"
Ezekután érdemes elgondolkodni, hogy a kód honnan jön. Ha űrlapból, akkor le kellene védeni a támadások ellen a programodat.
"UPDATE wqs SET szalqa=szalqa+1 WHERE kod='" . mysql_real_escape_string($uzenet, $kapcsolat) . "'"
8

Kedves Gáborok

Anonymous · 2006. Szep. 24. (V), 20.19
Köszönöm, a türelmet és az ötletet.

Üdv.