Всем привет! Помогите пожалуйста, разобраться с задачей. И так, в таблице table, есть ячейка info_hash (тип: blob, Атрибут: BINARY) Пытаюсь запись туда значение в результате получаеться [BLOB - 19Байт] т.е. 19 байтовое значение вместо 20 байтового Хотя перед записью в таблицу print показывает 20 байтовой значение. Может чё в наcтройках php.ini, хотя сейчас использую дефолтовые????? Код (Text): $x = '566666666666666666623236666667777777777jkghkghhjkdsf'; $infohash = pack("H*", sha1($x)); print(bin2hex($infohash)); mysql_query("UPDATE table SET info_hash = $infohash WHERE id=2"); 1. Если начинаешь обёртывать в кавычке, то он просто вставляет переменную: ".$infohash." 2. Если использовать mysql_real_escape_string, то в ячейке будет храниться экранированное значение типа Zak's = Zak\'s 3. Использовать BINARY вместо BLOB нельзя, поскольку изначально заложенно программой, также как и infohash должен быть равен = 20 байт не больше и не меньше. Может есть ещё какие нить варианты???
А спрашивальщика забанить. Чтобы не "выпытывал ума" на всех форумах. gloomen Идете и учите синтаксис языка. Потом - работу с БД. И только потом будете приходить и рассказывать про то, как не работают значения переменных в кавычках, про то, какие значения хранятся с БД после экранирования.