mysql_connect n’étant pas reconnu comme une fonction / PHP ne se connectant pas à MySQL dans Apache

Un peu de contexte pour le contexte: je suis plutôt novice en programmation et je tente depuis quelques mois de mettre en place un environnement de développement sur mon ordinateur portable pour pouvoir me familiariser avec PHP, Javascript, MySQL. , probablement Python dans un avenir proche – et j’ai passé ces derniers mois, de temps en temps, à essayer de configurer cet environnement avec des résultats mitigés. J’ai installé Apache 2.2, PHP 5.4.30 et MySQL 5.6 et je l’ai rafraîchi ces dernières nuits en essayant de comprendre moi-même pourquoi certaines choses ne fonctionnent pas.

En ce moment, mon problème est le suivant:

J’essaie de rassembler des pages de base sur mon hôte local qui utiliseront HTML et PHP pour se connecter à MySQL pour entrer des éléments dans une firebase database avec une page de formulaire HTML. Le HTML fonctionne bien, évidemment, mais le PHP ne semble pas vouloir jouer avec MySQL. Je continue à recevoir des messages d’erreur disant des choses comme ceci:

Fatal error: Call to undefined function mysql_connect() in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\MtG_DB_files\browse.php on line 24.

Les lignes pertinentes du script que j’écris sont les suivantes:

 $host="localhost"; $user="XXXXX"; $password="YYYYY"; $dbname="mtg"; /*$cxn=mysql_connect($host,$user,$password,$dbname)or die("Not connecting!");*/ $cxn=mysql_connect("localhost","XXXXX","YYYYY","mtg")or die("Failed to connect to MySQL"); mysql_select_db($cxn,"cardscatalog")or die("Failed to connect to Cards Catalog"); 

La moitié de moi pense que mon problème est la syntaxe et l’autre pense que le problème est une sorte d’erreur d’installation. Tout fonctionnait bien au début lorsque je l’apprenais à l’école primaire et que j’utilisais les serveurs de l’école et leurs installations, donc j’ai pu le faire par le passé, il me suffit de comprendre ce que j’ai mal installé sur mon ordinateur portable et comment. Je sais que c’est un problème courant et j’ai cherché sur Internet en essayant de trouver une solution.

Jusqu’à présent, j’ai essayé:

  1. Vérifier que mes fichiers dll dans php.ini sont bien présents et décommentés
  2. S’assurer que le fichier php.ini lit à partir du bon emplacement
  3. Mettre à jour mes versions de PHP, Apache et MySQL (toutes sont actuellement les versions que j’ai indiquées précédemment) et vérifier qu’elles sont les bonnes versions
  4. S’assurer que les bons fichiers dll sont dans les bons emplacements (php_mysql.dll et php_mysqli.dll sont dans C: \ php \ ext)
  5. J’ai redémarré de manière obsessionnelle Apache et MySQL chaque fois que je fais des changements
  6. Je me suis assuré qu’Apache avait un access en lecture / écriture au fichier access.log, après avoir lu à ce sujet sur un autre site.
  7. En désespoir de cause, je me suis souvenu que dans mes projets d’école supérieure, une ou deux fois quelque chose fonctionnerait dans IE mais pas dans Chrome ou vice versa, alors j’ai essayé d’utiliser les deux navigateurs pour voir les pages que je crée. Pas de dé.

Que puis-je faire ou essayer d’autre? Je dois arriver à ceci du mauvais angle. Y a-t-il une sorte de fichier mis à jour ou non inclus que je devrais télécharger? S’il vous plaît laissez-moi savoir de toutes les spécifications que je devrais inclure ou toute information supplémentaire nécessaire pour aider à résoudre ce problème; comme vous pouvez le voir, je suis tout à fait nouveau à ce sujet et je ne sais vraiment pas ce que je fais. Sur une note connexe, s’il vous plaît soyez précis et assez idiot si vous voulez bien répondre … Je ne plaisante pas quand je dis que je suis un noob et que je ne parle pas vraiment le jargon. vous pour votre temps!

EDIT – 7/15/14 00:13 Ajouter un lien vers mon fichier php.ini pour plus de clarté.

php.ini

EDIT – 7/15/14 23:37 Je me demande si cette partie de mon phpinfo donne des informations utiles:

Path C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Sony\VAIO Startup Setting Tool;C:\Users\XXXXXX\AppData\Local\Smartbar\Application\;C:\Users\Marisa\AppData\Local\Smartbar\Application\;C:\Program Files\jEdit;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\MySQL\MySQL Utilities 1.4.3\;C:\Program Files (x86)\MySQL\MySQL Utilities 1.4.3\Docsortingne extensions for PHP\

PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

EDIT – 7/16/14 10:33 Eh bien, j’ai essayé de réinstaller PHP et MySQL hier soir et rien ne se passe – pas de changement perceptible dans les erreurs que j’ai pu avoir. Je pense que ce qui pourrait affecter le problème est que quelques-unes de mes extensions pourraient provenir d’anciennes versions de PHP et MySQL que j’ai essayé d’installer, j’ai donc mis à jour php_mysqli.dll, php_mysql.dll et php_mbssortingng.dll. C: \ php \ ext et C: \ Windows (couvrant mes bases en utilisant les deux emplacements), mais j’ai découvert que je ne semble pas avoir de fichier libmysql.dll n’importe où dans les endroits que je pensais! J’ai fait un peu de recherche sur Google et on dirait que les gens déconseillent de télécharger un fichier libmysql.dll distinct … Quel pourrait être un bon moyen de résoudre ce problème?

Il semble que votre php soit installé sous C: \ PHP si vous parvenez à faire fonctionner phpinfo (), cela signifie que php est en cours d’exécution et qu’apache fournit des fichiers .php correctement.

Le problème est que vos extensions ne sont pas chargées

 extension=php_mysql.dll extension=php_mysqli.dll