Pergunta

Este está me confundindo. Eu tenho uma consulta MySQL, que está sendo executado embora DOP:

$stmt = $db->prepare( "UPDATE member SET acode='' AND status='active' WHERE username=:u" );
$stmt->bindValue( ':u', $member->username, PDO::PARAM_STR );
$stmt->execute();

O campo acode fica definido para 0 por algum motivo. Ele foi criado com

`acode` varchar(8) NOT NULL

Existe algo especial que eu preciso fazer quando se utiliza instruções preparadas?

Foi útil?

Solução

Gidday,

O problema surge com esta parte da sua consulta:

SET acode='' AND status='active'

o e transforma isso no boolean verificação de '' e status = 'ativo', que avalia a 0. alterar a sua consulta para:

SET acode='', status='active'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top