Autor Zpráva
Rogue
Profil
Ahoj potřeboval bych zjistit jaký použít datový typ pro jakékoliv znaky. Potřeboval bych do DB ukládát html kód se všemi značkami. Zkoušel jsem typ TEXT ale do DB se to neuloží.

Poradí mi někdo
mark
Profil
Vyskúšaj char (n) alebo aj varchar (n), to záleží na tom, ako si určíš počet znakov.
ninja
Profil
Pro textovy retezez je pouzitelny char, varch i text, zalezi na jeho delce. BLOB je urcen pro binarnni data.

k ulozeni nedoslo pravdepodobne protoze jste neosetril uvozovky v html kodu.
mark
Profil
U char(n) je hodnota n počet znakov reťazca, u varchar(n) je hodnota n maximálny počet znakov v reťazci.
dependos
Profil *
proč neuloží? Jestli neuložilo jako text, těžko se uloží jako var/char. Neuloží vůbec, nebo uloží ale bez html značek? Můžeš poslat ten sql insert?
Rogue
Profil
To bude tím jak říka ninja neošetřil jsem html značky zpětným lomítkem
Rogue
Profil
No teď mě tak napadá nejde nějak ošetřiř aby se ty zpětný lomítka dávaly automaticky? za každý "
ninja
Profil
priklad:
html kod ktery chci ulozit
ahoj <strong>kamaradi</strong>, kouknete <a href="www.example.com">sem</a>


INSERT INTO tabulka (sloupec) VALUES (ahoj <strong>kamaradi</strong>, kouknete <a 
href="www.example.com">sem</a>)

neprojde

INSERT INTO tabulka (sloupec) VALUES ("ahoj <strong>kamaradi</strong>, kouknete <a href="www.example.com">sem</a>")

neprojde

INSERT INTO tabulka (sloupec) VALUES ("ahoj <strong>kamaradi</strong>, kouknete <a href=\"www.example.com\">sem</a>")

projde
ninja
Profil
Zalezi na nastaveni direktivy magic_qoutes. V PHP je na osetreni toho pripadu funkce addslashes() a strpslashes().
mpark
Profil
k ukládání do db bych se taky přikláněl i k fukncím escape_string nebo real_escape_string
Rogue
Profil
Dík ninjo.

Ještě mám tedka problém ;) Zadal jsem to tam s zpětnýma lomítkama a ono se to i snima uložilo do DB .... to by nemělo ne?

typ mam jako text
joe
Profil
Rogue
Vypni si magic_qoutes a použij funkci mysql_escape_string nebo mysql_real_escape_string
Rogue
Profil
Vypnul jsem magic_qoutes, použil mysql_escapage_string a zkoušel jsem i addslashes(), ale bohužel pořád nic.


Do formuláře zadám html kód dejme tomu: (z hlavičky tohoto fora to je fuk)

<meta http-equiv="content-type" content="text/html;charset=iso-8859-2">

<LINK href="./bb_classic_style.css" type="text/css" rel="STYLESHEET">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">


to formulář uloží do proměné $html a posílá to do ulož.php kde je

připojení do db

<?php
$html = "$_POST[html]";
$doplnlomitka = mysql_escape_string($html);
?>



a pokračuje to normálním

mysql_query("insert into.......


ale do DB se nic neuloží.

vše funguje v pořádku pokud dám před každou uvozovku v html kódu \. Neporadí mi někdo?
Rogue
Profil
Dělal jsem hloupost už jsem to zprovoznil díky za snahu pomoct

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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