Maison > Questions et réponses > le corps du texte
P粉7998853112023-08-09 13:03:32
La validation automatique de PDO est différente de la validation automatique de MySQL. Cela signifie que si vous définissez la valeur par défaut de autocommit sur 0 dans votre configuration MySQL, cela ne modifiera pas la valeur par défaut de PDO::ATTR_AUTOCOMMIT. La valeur par défaut de PDO::ATTR_AUTOCOMMIT est toujours vraie.
La modification de la valeur de PDO::ATTR_AUTOCOMMIT par la même valeur ou toute autre valeur qui n'est pas un booléen ou un entier sera ignorée. Cela signifie que les deux opérations sont sans opération :
$pdo = new PDO($dsn, $user, $password); $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, true); // 因为默认值是true $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 1); // 转换为布尔值true,与默认值相同
Vous pouvez le tromper en désactivant et en activant PDO::ATTR_AUTOCOMMIT :
$pdo = new PDO($dsn, $user, $password); $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false); $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, true);
Cela effectuera deux appels au serveur MySQL et devrait définir la valeur de validation automatique de MySQL sur 1