Autor Zpráva
zvanec
Profil
Dobrý den chtěl bych se zeptat kde dělám chybu
  $dotaz = mysql_query("SELECT * FROM uzivatele WHERE nick='".mysql_real_escape_string($nick)."' AND heslo='$heslo' ;");
                        while($vystup = mysql_fetch_object($dotaz))
                        {
                          $opravneni_profil = $vystup->opravneni;
                        }

  $akce = isset($_GET["akce"]);
  $id_prispevku = @$_GET["id"];   
  if(isset($akce)=="smazat" AND isset($id_prispevku)){
    $uprava = mysql_query("UPDATE chat SET smazano='1' WHERE id='".mysql_real_escape_string($id_prispevku)."' AND $opravneni_profil='3'  ;");
  }
  
bez podmínky "AND $opravneni_profil='3'" mi to funguje ale chtěl bych to i s podmínkou aby nemohli mazat všichni :) děkuji za rady
Hando
Profil
Ahoj.

Na řádku 10 je $opravneni_profil proměnná, ty tam chceš předpokládám porovnávat hodnotu sloupce, tudíž bez "$" před názvem by to mělo fungovat, ne?
Koukal jsem jenom tak narychlo...
zvanec
Profil
NN nefunguje ani bez$
Taps
Profil
zvanec:
vypiš si mysql_error
  $uprava = mysql_query("UPDATE chat SET smazano='1' WHERE id='".mysql_real_escape_string($id_prispevku)."' AND $opravneni_profil='3'  ;") or die (mysql_error());
ještě je dobré zavolat echem update, pak uvidíš kde může být problém
echo "UPDATE chat SET smazano='1' WHERE id='".mysql_real_escape_string($id_prispevku)."' AND $opravneni_profil='3' ";
zvanec
Profil
Taps:

Bez chyby nikde chybu nevidí


Nemůže to být tím že to píšu script na update tabulky a zároveň chci to updatovat podle podmínky jestli má ten uživatel opravneni kde to opravneni je v jiné tabulce?
Hando
Profil
Zkus si vypsat to pomocí toho echa čistě databázový dotaz a pak ho zkus vložit přímo do konzole mysql v phpMyAdmin, nebo v adminerovi (nevím, co používáš). To vypíše chybu spolehlivě. :)

Chvíli jsem si říkal, jestli ukládáš údaje o uživatelích do stejné tabulky jako příspěvky. :) Vadí to, musíš tomu říct, v jaké tabulce to má hledat. Představ si situaci, že máš různé tabulky a v nich stejné názvy sloupců, klasika je třeba id. Bez určení tabulky by to byl docela problém.
Tori
Profil
Nemá to být takto?
$uprava = mysql_query("UPDATE chat SET smazano='1' WHERE id=".intval($id_prispevku)." AND opravneni = '3'");

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0