2017-05-27 4 views
0

Voici le code d'insertion qui fonctionnait sur PHP 5.3 et PAS sur 5.4 et ci-dessus. Il fonctionnait dans une ancienne version de PHP correctement, quand j'ai changé le serveur, PHP 7.1 a été sélectionné par défaut. J'étais assez frustré car je n'arrivais pas à trouver le problème. Mais maintenant, je l'ai trouvé je ne sais pas pourquoi cela est arrivéPHP 7.0 ne pas insérer dans la ligne MySQL en utilisant la commande INSERT

enter image description here

Le code fonctionne parfaitement bien en PHP 5.2, 5.3, mais pas au-dessus. Quelles modifications ai-je besoin de faire pour que cela fonctionne aussi dans une autre version?

+2

checkout votre journal des erreurs – hassan

+0

Vous devez configurer PHP afin que vous puissiez voir les messages d'erreur (soit sur l'écran ou connecté dans un fichier). Et cela ne vous fera pas de mal de réécrire votre code et d'ajouter une vérification d'erreur (je vous suggère de simplement configurer mysqli pour lancer des exceptions). –

Répondre

0

Il semble que les fonctions que vous utilisez étaient liées à des fonctions qui « a été désapprouvée à partir de PHP 5.3.0 et PHP SUPPRIMEE 5.4.0 »: http://php.net/manual/en/function.mysqli-bind-param.php

La version PHP, il était enlevé tend à coller avec la version de PHP votre problème se produit donc je l'ai d'abord aperçu, mais j'ai essayé votre code et il semble fonctionner pour moi. Essayez d'utiliser mysqli_report(MYSQLI_REPORT_ALL); et vérifiez phpinfo(); pour les différences, et peut-être essayer une autre version de MySQL.

J'ai essayé votre code et il semble fonctionner très bien avec:

-PHP 5.5.12
-MySQL 5.6.17
-apache 2.4.9

Hope this helps.

+0

'mysqli_stmt_bind_param()'! = 'Mysqli_bind_param()'. Pages de manuel pour [mysqli_prepare()] (http://php.net/mysqli_prepare), [mysqli_stmt_bind_param()] (http://php.net/mysqli_stmt_bind_param) et [mysqli_stmt_execute()] (http://php.net/mysqli_stmt_execute) ne mentionne rien à ce sujet et ils sont tous disponibles dans mon installation PHP/7.0.2 locale, mais cela a été choisi comme réponse acceptée. Qu'est-ce que je rate? –