Question

Celui-ci me laisse perplexe. J'ai une requête MySQL en cours d'exécution via PDO:

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

Le champ acode est mis à 0 pour une raison quelconque. Il a été créé avec

`acode` varchar(8) NOT NULL

Y a-t-il quelque chose de particulier à faire lorsque j'utilise des instructions préparées?

Était-ce utile?

La solution

Jeudi,

Le problème vient de cette partie de votre requête:

SET acode='' AND status='active'

AND transforme ceci en vérification booléenne de '' AND status = 'active', ce qui donne 0. Modifiez votre requête en:

SET acode='', status='active'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top