Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno $sql = "UPDATE... špatná syntaxe

Ahoj, mám příkaz

$sql = "UPDATE 'czsp_kalendar' SET 'rok' = '$rok','datum' = '$datum','nazev' = '$nazev' WHERE 'id' = '$id'";

na změnu dat v tabulce a stále chyba

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 ''czsp_kalendar' SET 'rok' = '2011','datum' = '16. 5.','nazev' = 'kráti pokusss' ' at line 1

Nemůžu přijít na to, co tam kydlím špatně. :-(

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Sice jsi odpověď už dostal, ale nedá mi se ti neříct že když píšeš název tabulky či třeba sloupce a…
martin.developer 15.06.2011 15:09
martin.developer
Já to pak zabezpečím, až mi to bude chodit. Teď bojuji s mazáním záznamů a se zobrazováním data míst…
Kráťa 15.06.2011 18:46
Kráťa
Mazání - DELETE FROM tabulka WHERE id = 'neco' - smaže řádek kde je sloupec id roven neco. (Jde to…
martin.developer 15.06.2011 19:42
martin.developer
S mazáním jsem pako! Já si tam předávám proměnnou, přes $_GET a jak jsem to kopíroval, nechal jsem v…
Kráťa 15.06.2011 21:06
Kráťa
Odkud bereš to ID? Pokud to chápu správně jedná se o stránku kde je vždy jeden záznam, nebo se jedná… nový
martin.developer 15.06.2011 21:23
martin.developer
Děkuji za pomoc. poslední
Kráťa 16.06.2011 02:29
Kráťa

Mazání -

DELETE FROM tabulka WHERE id = 'neco'

- smaže řádek kde je sloupec id roven neco. (Jde to samozřejmě omezit přes LIMIT X)

Převod data - pokud je to yyyy-mm-dd tak v PHP lehce -

date_default_timezone_set("Europe/Prague"); //Nastavení správné časové zóny
echo date("j. n.", strtotime("2011-06-15")); // Vypíše 15. 6.

S mazáním jsem pako! Já si tam předávám proměnnou, přes $_GET a jak jsem to kopíroval, nechal jsem v tom souboru, kam se to předá $_POST. Příkaz jsem měl dobře snad 10x a furt to nechodilo :-)

Datum tahám z databáze a je pokaždé jiné, čili bych potřeboval něco jako

<?php $getid = $zaz["id"];
$getid_kodovana = urlencode($getid);
 ?>
<p>
<b><?php echo date("j. n.", strtotime($zaz["datum"])); ?></b> 
<?php echo $zaz["nazev"]; ?>
</p>

což samozřejmě nechodí a navíc můj největší problém, je navíc správná syntaxe, zejména ' a ". :-(

Odkud bereš to ID?
Pokud to chápu správně jedná se o stránku kde je vždy jeden záznam, nebo se jedná o nějaký výpis více řádků?

Pokud jde o stránku s jedním záznamem a ID je získáno třeba z url (example.com/ukaz.php?id=5) -

<?php
$id = intval($_GET['id']);
$query = mysql_query("SELECT datum,nazev FROM tabulka WHERE id = '" . $id . "'");

$data = mysql_fetch_array($query);
?>

<p>
<strong><?php echo date("j. n.", strtotime($data["datum"])); ?></strong> 
<?php echo $data["nazev"]; ?>
</p>

Pokud jde o stránku s výpisem záznamů (example.com/ukaz_vse.php) -

<?php
$query = mysql_query("SELECT datum,nazev FROM tabulka ORDER BY datum DESC"); //vytáhne vše a seřadí podle data sestupně

while ($data = mysql_fetch_array($query)) //pomocí while budeme tahat řádky z výsledku než nedojdeme na konec - false a while přestane pracovat.
{
?>

<p>
<strong><?php echo date("j. n.", strtotime($data["datum"])); ?></strong> 
<?php echo $data["nazev"]; ?>
</p>

<?php
}
?>

Zpět do poradny Odpovědět na původní otázku Nahoru