Après avoir ajouté une colonne calculée à une table dans SQL Server 2005, je reçois le message suivant sur Pour vous assurer que tout est correct, je configurais une trace avec le profileur SQL Server et copier / coller l'instruction insertion dans SQL Server Dissement Studio. Il s'est bien déroulé dans SSMS, mais continue d'échouer dans PHP. P>
Erreur d'erreur Ajout de contact: SQLSTATE [HY000]: Erreur générale: 1934 Général SQL
Erreur de serveur: vérifiez les messages du serveur SQL [1934] (gravité 16)
[(null)] p>
blockQuote> insert code>, uniquement via PHP (à l'aide de PDO). Il fonctionne bien dans SQL Server Manage Studio. p>
3 Réponses :
révèle que le problème devait faire avec les paramètres définis. J'ai utilisé le code ci-dessous obtenu à partir de ici . Pour déterminer quelles options ont été définies dans SQL Server Management Studio (où l'insert fonctionnant). Ensuite, placez chacun de ceux-ci dans un EXED avant mon relevé d'insertion, les choses fonctionnent à nouveau. Je n'avais pas besoin de conserver toutes les options, donc ci-dessous, je montrais ceux qui étaient tenus de le faire fonctionner.
$dbPDO->exec("SET ANSI_WARNINGS ON"); $dbPDO->exec("SET ANSI_PADDING ON"); $dbPDO->exec("SET ANSI_NULLS ON"); $dbPDO->exec("SET QUOTED_IDENTIFIER ON"); $dbPDO->exec("SET CONCAT_NULL_YIELDS_NULL ON");
Suivre @kackleyjm Réponse J'ai essayé d'activer les autres options possibles.
J'ai fini par: P>
SET ANSI_WARNINGS ON SET ANSI_PADDING ON SET CONCAT_NULL_YIELDS_NULL ON
Vous devrez peut-être écrire les paramètres à l'aide de PHP. Ex: $ dbpdo-> exec ("définir ansi_warnings sur");
Où vais-je mettre ça? Sur un fichier spécifique ou sur le serveur?
J'ai trouvé que ce problème se pose lorsque vous faites une insertion en vrac ou une mise à jour à l'aide de XML dans en haut du corps de la procédure. Cela résoudra l'erreur SQL Server code>. J'ai trouvé que ce problème concerne le problème de l'indexation dans une table. Vérifiez
"1934" code>. P> p>