RESOLU: J'ai écrit et testé un script PHP sur le serveur local. (Rien d'extraordinaire, seulement 2 insertions SQL consécutives dans la même base de données, mais différentes tables).Requête SQL fonctionne sur le serveur de test mais pas en direct ... quelle pourrait être la différence?
Les deux serveurs fonctionnent & MYSQL 5. PHP5
Sur le serveur local, les deux requêtes sont traitées correctement.
Sur le serveur live, seule la première requête fonctionne, mais pas la seconde et je n'arrive pas à comprendre pourquoi.
Voici le code:
$sql_login = "INSERT INTO logintbl
(...)
VALUES (...)";
$result_login = mysqli_query($this->connect, $sql_login);
# Fill contact details
$sql_contactD = "INSERT INTO contactDetails
(...)
VALUES (...)";
$result_contactD = mysqli_query($this->connect, $sql_contactD);
Sur mon serveur local, les deux requêtes renvoient true et les données sont ajoutées dans la base de données.
Sur mon serveur actif, la première requête fonctionne comme prévu, mais la deuxième requête échoue sans aucun message d'erreur.
Bien sûr, les structures de table sont identiques sur les deux serveurs. Les deux tables se trouvent dans la même base de données et l'utilisateur dispose de droits suffisants sur la base de données.
Une indication sur ce qui pourrait être faux?
Édition 1: Autorisations: Oui, l'utilisateur dispose des autorisations adéquates sur les deux tables.
Edit 2: Je me sens très stupide, mais suivant les conseils de James de vérifier mysqli_error(), je trouve que le serveur de production est sensible à la casse en ce qui concerne les noms de table, contrairement à mon serveur de test, et que il a converti le nom d'origine de ma table (contactDetails) en minuscules (détails de contact).
Merci à tous pour votre aide.
Avez-vous vérifié votre journal mysql pour un message d'erreur? –
Essayez également "SHOW WARNINGS" après avoir exécuté la requête qui ne fonctionne pas. Cela renvoie des informations sur les avertissements, qui sont moins graves que les erreurs et n'affichent pas de message, sauf si vous en demandez un. –
Vérifiez également la sortie de mysqli_error(). Est-ce que les serveurs de test et de production ont des paramètres de guillemets magiques différents?Autres réglages? –