Запрос MySQL устанавливает поле в 0 вместо пустой строки
-
05-07-2019 - |
Вопрос
Это меня озадачивает.У меня есть запрос MySQL, который выполняется через PDO:
$stmt = $db->prepare( "UPDATE member SET acode='' AND status='active' WHERE username=:u" );
$stmt->bindValue( ':u', $member->username, PDO::PARAM_STR );
$stmt->execute();
А acode
по какой-то причине поле устанавливается в 0.Он был создан с
`acode` varchar(8) NOT NULL
Нужно ли мне что-то особенное делать при использовании подготовленных операторов?
Решение
Днем,
Проблема связана с этой частью вашего запроса:
SET acode='' AND status='active'
AND превращает это в логическую проверку '' AND status='active', которая оценивается как 0.Измените свой запрос на:
SET acode='', status='active'
Не связан с StackOverflow