Autor Zpráva
splite
Profil
Nazdar nazdar, mám takový problém...

mějme mysql 4.1 tabulku (demonstrativní příklad):
CREATE TABLE `config_table` (

`variable` char(50) NOT NULL,
`value` text NULL,
`comment` text NOT NULL,
UNIQUE KEY `variable` (`variable`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

INSERT INTO `config_table` (`variable`, `value`, `comment`) VALUES ('requestmail', 'splite@centrum.cz', '');


Když ale udělám select z sloupců kde je typ TEXT tak mysql do php vrátí formát BLOB. V řádkovém klientu mysql je ale všechno v pohodě - vrátí se text :-/

SELECT variable, value FROM config_table WHERE variable = 'requestmail' LIMIT 1;



Pokud v phpMyAdminu exportuji tabulku tak se údaj exportuje taktéž binárně.
(0x726571756573746d61696c, 0x73706c6974654063656e7472756d2e637a, '');


pokud ale v phpMyAdmin kliknu na "upravit řádek" najednou je text zase textem :-/

Už se tady na foru na to pár lidí ptalo

Otázka tedy zní: Je to chyba u mě na localhostu? Chyba někde v mysql? Nedalo by se to nějak ošéfovat v query? Nebo v php? Nějaká fce "blob2text"?
Kajman_
Profil *
To že pma ukazuje dlouhé texty ve výsledku selectu, že jsou blob, neznamená, že v to není text. V php s tím pracujte normálně jako s textem.
splite
Profil
Bohužel, mysql_fetch_*() přiřadí prázdné pole. Buď je nějaká speciální mysql_*() fce která pracuje s blob (koukl jsem do manuálu a nic jsem nenašel... ale blbost lidská je prakticky nekonečná...) a nebo to prostě nejde tak jednoduše...
Kajman_
Profil *
A mysql_result taky nic nevrátí? Bych tipnul, že problém může být i jinde.
splite
Profil
Upgradoval jsem mysql na 5.1 - v phpMyAdminovy je text pořád blob ale v php už se sním dá pracovat jako s normálním textem.

Problém je tedy víceméně vyřešen. Byla to nějaká chyba bůh-ví-kde, možná někde v odbc driverech, těžko říci.

Děkuji za váš čas :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0