Autor Zpráva
paulos etruska
Profil
Nefunguje mi odkaz na smazání příspěvku z databáze...Nevíte jestli je chyba v kódu nebo odkazu? dík
<a href=?page=delete.php&id=".$id.">

<?php

$id = $_GET["id"];

$connect = MySQL_Connect("mysql.wz.cz","db","heslo") or die("Chyba pri pripojovani k db");

if (!$connect) {
echo "Spojeni se nepodarilo navazat";
}

mysql_select_db("db");

$query = mysql_query("DELETE FROM chat WHERE id = '$id'");

if ($query) {
echo "Prispevek byl smazan.";
}

MySQL_close();



?>
Anonymní
Profil *
1. zbytocne si davas

if (!$connect) {
echo "Spojeni se nepodarilo navazat";
}

ked uz mas o riadok vyssie chybovu hlasku. or die("Chyba pri pripojovani k db");

2. vytvaras kratku premennu
$id = $_GET["id"]; // pouzi s jednoduchymi apostrofamy $id = $_GET['id'];

3.kd uz mas v spojeni chybovku preco ju nepouzijes aj tu?

$query = mysql_query("DELETE FROM chat WHERE id = '$id'") or exit ("error v DELETE " .mysql_error());

Mal by si prist na chybu teraz aj sam :)
paulos etruska
Profil
teraz som asi ************ na to za boha nemůžu přijít...všichni jenom řikaj že si na to musim přijít sám ,ale na to že do toho čumim půl dne jako blbec nemyslej :D
Jato
Profil *
2. vytvaras kratku premennu
$id = $_GET["id"]; // pouzi s jednoduchymi apostrofamy $id = $_GET['id'];


to sem nepochopil
paulos etruska
Profil
já zase nepochpil proč ste už rovnou neřekli rešení :) ...když už si někdo dá práci to vypsat tak už ho jedna věta nezabije,já nad tim fakt přemejšlel a nic mě nenapadlo:(
Kajman_
Profil *
A v tom vygenerovaném odkaze je správné číslo?

A pokud se Vám tam automaticky nedávají zpětné uvozovky v přijatých proměnných, tak "správným" parametrem lze smazat všechny řádky oné tabulky.
paulos etruska
Profil
Kajman
id je v pořádku...to s těma závorkama sem nepochopil...všechno jede,odkaz,id přesměruje se to ,alenic to nasmaže:(
djlj
Profil
A echo mysql_error(); nic nevypíše? Případně si vypsat ten sql dotaz echo("DELETE FROM chat WHERE id = '$id'")
Kajman_
Profil *
Zkuste 3. radu od anonyma. To Vám zkontroluje, zda existuje ta tabulka a ten sloupeček id.
paulos etruska
Profil
no ta tabulka a sloupeček existuje,protože se zobrazí,všechno by bylo v pohodě,jenže to nemaže...už vážně nevim:(
Hugo
Profil
Tak si vypis co rika mysql_error(), jak ti tu kazdy radi. Treba se dozvis neco zajimaveho.
paulos etruska
Profil
mě to žádnou chybu nehlásí,tak mě přestaňte sr*** :D
nevim na co vám to je,celou dobu to vědět když to stejně neřeknete.
Hugo
Profil
Neporušuj prosím pravidla této diskuze.

Pokud to nehlásí žádnou chybu, tak s největší pravděpodobností to $id v databázi není. Vypiš si ten dotaz a podívej se do db (např. pomocí phpmyadmina) jestli ten řádek skutečně existuje.

Zkus ještě vyhodit ty apostofy kolem $id v sql dotazu. Pokud je id číslo, tak by to mohlo vadit.
Kajman_
Profil *
Zkus ještě vyhodit ty apostofy kolem $id v sql dotazu.

Hmm, tak to pak půjdou mazat všechny řádky i když bude nastaveno automatické backslashování :-) Já bych je tam nechal - v nich problém nebude.
paulos etruska
Profil
Neporušuj prosím pravidla této diskuze.

nejsem si vědom že bych nějak porušoval pravidla diskuse.
Problém byl v odkazu na smazání,všem se omlouvám,ale naštvalo mě že se všichni tváří že to ví a níkdo to neřek.
Hugo
Profil
Závazná pravidla

Pište slušně. Sprostá slova budou odstraněna.
paulos etruska
Profil
omlouvám se před nastoupeným kolektivem
dis
Profil
když mysql_error() žádnou chybu nevypíše, tak je ten dotaz zřejmě korektní. Otázka je, jestli je něco v proměnné $id a co vlastně; a jestli hodnotě v $id odpovídá nějaký záznam v DB.
takže doporučuju naprosto jednoduše např. doplnit echa a zkontrolovat hodnoty:


<?php
$id = $_GET["id"];
echo $id; // kontrola co vlastně se převzalo z $_GET
$connect = MySQL_Connect("mysql.wz.cz","db","heslo") or die("Chyba pri pripojovani k db");
mysql_select_db("db");
$dotaz = "DELETE FROM chat WHERE id = '$id'"; // dotaz dáme extra do stringu
echo $dotaz; // abychom si mohli zobrazit co nám to vyšlo za text dotazu
$query = mysql_query($dotaz);
if ($query) {
echo "Prispevek byl smazan.";
}
MySQL_close();
?>

a pak se uvidí dál.
Hugo
Profil
dis

Už je to vyřešeno, přečti si předposlední příspěvek od paulos etruska.
Toto téma je uzamčeno. Odpověď nelze zaslat.