Я относительно неопытен с php, pdo и sql. что, как я сказал, я работал над небольшим проектом, и, хотя большинство вещей работает по назначению, у меня возникают некоторые проблемы. принять следующую информацию из MySQL (MariaDB) базы данныхИспользование подготовленной инструкции PDO с PHP - двоичные числа
| Field | Type | Null | Key | Default | Extra |
| age | bit(6) | YES | | NULL | |
В PHP У меня есть простая форма, где вы вводите свой возраст, например. шахта - 33.
$age=decbin($_POST['age']);
это правильно показывает 100001, когда я эхо $ возраста. используя мои (возможно, попало) заявления PDO
$stmt = $DBH->prepare("INSERT INTO Recruit(recruit_id, name, age) VALUES(:recruit_id,:name,:age)");
$stmt->execute(array(':recruit_id' => $recruit_id, ':name' => $name, ':age' => $age));
recruit_id и имя как появляются без проблем, но возраст всегда населяет, как 111111, независимо от того, что я вхожу в возрасте.
Я пробовал делать литье (: возраст как двоичный (6)) с теми же результатами. Я просто не могу справиться с этой задачей.
***** исправлена опечатка в пасте базы данных *****
я изменил возраст до целого, однако, я до сих пор есть пара включения/выключения опций, которые хранятся в двоичном виде (1) и та же проблема. php может корректно отображать значение как 1 или 0, но при отправке в db оно всегда равно 1. (возраст представлен хорошим примером, так как все 6 бит были 1)
У меня плохое предчувствие о 'колонке type'. Каково ваше намерение использовать тип «BIT»? – tadman
^спрашивающ себя то же самое. –
Moi ausi mon ami. Почему вы хотите сохранить возраст (очевидное целое число) как двоичный? – RiggsFolly