Autor Zpráva
Stroza
Profil *
zdravim,
potreboval bych malou pomoc, mam MySQL 5 a kdyz chci udelat nejaky UPDATE tabulky:

$a = mysql_query("UPDATE `tabulka` SET `sloupec` = '".$hodnota."' WHERE `tabulka`.`id` =1 LIMIT 1") ;


a toto mi nefunguje, jakmile ale zapíšu takto:

$a = mysql_query("UPDATE `tabulka` SET `sloupec` = 'neco' WHERE `tabulka`.`id` =1 LIMIT 1") ;


tak se mi to v poradku provedlo...

jak udelat aby se to UPDATEovalo dle promenych

Moderátor nightfish: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Peca
Profil
Divné... Mělo by to jít. Nevyskytuje se v $hodnota nějaký špatný znak? Uvozovky, apostrof...?
Jinak není třeba ukončovat uvozovky, dá se to napsat takto:
$a = mysql_query("UPDATE `tabulka` SET `sloupec` = '$hodnota' WHERE `tabulka`.`id` =1 LIMIT 1") ; 

A limit je tam asi taky zbytečně, pokud id je primárním klíčem.

Moderátor nightfish: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
nightfish
Profil
a toto mi nefunguje
jak nefunguje? co to napíše? je obsah proměnné $hodnota správně oescapován?

EDIT: pozdě
Stroza
Profil *
Nene nevyskytuje se tam apostrof :) ani uvozovky..
Masyk
Profil *
Mám obdobný problém. Vtip je v tom že mi tyto problémy vzniknou pouze v exploreru. V Mozille i v Opeře mi to funguje. Používám explorer 7. Nikde jsem nenarazil na to čím by to mohlo být.
ipek
Profil *
Co tohle?
$a = mysql_query("UPDATE tabulka SET sloupec= '$hodnota' WHERE `tabulka`.`id` =1 LIMIT 1") ;

me to funguje ;-).
nightfish
Profil
když už teda oživujeme 2 měsíce staré téma:
jaké kódování používáš pro připojení k databázi? v jakém kódování do databáze hrneš data? co vypíše echo mysql_error()?
musachi
Profil
Staré téma to možná je ale MYSQL5 to opravdu dělá, mě zas při tomto (shoda s tebou STROZA)::

mysql_select_db($nazevdatabaze);
//$result=mysql_query("SELECT * FROM authors ORDER BY authors_id ASC"); // tahle jede
$result=mysql_query("SELECT * FROM " . $nazevtabulky . "ORDER BY authors_id ASC"); //tahle hází chybu
if ($result == 0): echo("Nelze nic vybrat!" . mysql_errno() . ": " . mysql_error());
----------
Nelze nic vybrat!1064: 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 'BY authors_id ASC' at line 1
tiso
Profil
musachi - chýbajú Ti tam medzery okolo $nazevtabulky - výsledok je FROMauthorsORDER BY
Soudruh_Hacker
Profil *
Mám stejná problém, potřebuji dát na web možnost editovat novinky (v administraci) a nechce mi tohle fungovat, nevíte někdo kde může být chyba?

[code]

// načtení do proměných
$titulek = $_POST['titulek'];
$text = $_POST['text'];
$datum = $_POST['datum'];
$id = $_POST['id'];


// vytvoření MySQL dotazu
$query = "UPDATE novinky SET titulek = '$titulek', text = '$text', datum = '$datum' WHERE id = '$id'";
$result = mysql_query($query);

if ($result) echo "<center>Novinka byla úspěšně aktualizována.</center>";
else echo "<center>Nastala chyba a novinka nebyla aktualizována.</center>";
[/code]
Mastodont
Profil
Ve formátu hodnoty $datum?
Chury
Profil *
Mě funguje toto uplne v poho :)
Je to v podstate to sami co uz tu je:

mysql_query("UPDATE "nazevtabulky" SET "sloupec" = "$hodnota" WHERE "nazevtabulky" . "id" = $id") ;
travis
Profil *
Nevíte jak to vyřešit? Jak můžu upravit údaje v databázi, které mi přišly z jiné stránky?

//přenos dat z minulé stránky
if(isset($_GET["id"])) $id=$_GET["id"]; else echo "Políčko ID je prázdné";
if(isset($_GET["jmeno"])) $jmeno=$_GET["jmeno"]; else echo "Políčko JMÉNO je prázdné";
if(isset($_GET["heslo"])) $heslo=$_GET["heslo"]; else echo "Políčko HESLO je prázdné";


echo $id;
echo $jmeno;
echo $heslo;


//Úprava údajů
$query = "UPDATE login SET id = '$id', jmeno = '$jmeno', heslo = '$heslo' WHERE id = '$id'";
$result = mysql_query ($query) or die(mysql_error());
if ($result){
echo "Údaj byl úspěšně upraven!";
}  else {
echo "Bohužel se nepodařilo údaje upravit.";

}


- Napíše, že Údaj byl úspěšně upraven, žádná chybová hláška.
- Informace z proměnných se zobrazí.
- Nefunguje ani WHERE "nazevtabulky" . "id" / v uvozovkách píše chybu MySQl

Jsem zoufalý :-)
AM_
Profil
travis:
Jsem zoufalý :-)
evidentně ano, protože píšeš do několik let starého tématu, ačkoli jsi byl diskusí upozorněn, že to nemáš dělat. Lidem jako ty by se na fórum měl úplně zakázat přístup.

Zřejmě tam dotaz s tímhle ID nemáš, spusť si dotaz v phpMyAdminu, třeba tam vykoukáš víc. A hlavně si příště založ vlastní téma.

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: