J'ai mis à jour vers PHP 4, et maintenant MySQL me dit toujours "Warning: MySQL: Unable to save result set in ...". Que se passe-t-il?
<<<
PHP 5 n'inclut plus les bibliothèques clientes MySQL, qu'est ce que ça implique pour moi? Puis-je toujours utiliser MySQL avec PHP? J'essaie d'utiliser MySQL, mais j'obtiens des erreurs "undefined function". Après avoir ajouté le support partagé de MySQL, Apache plante dès que libphp4.so est chargé. Comment résoudre ce problème?
>>>

11.4 Considérations sur les bases de données
11 FAQ : foire Aux Questions
 Manuel PHP

J'ai entendu dire qu'il était possible d'accéder à Microsoft SQL Server à partir de PHP. Comment est-ce possible?
Puis-je accéder à des bases Microsoft Access
J'ai mis à jour vers PHP 4, et maintenant MySQL me dit toujours "Warning: MySQL: Unable to save result set in ...". Que se passe-t-il?
-> PHP 5 n'inclut plus les bibliothèques clientes MySQL, qu'est ce que ça implique pour moi? Puis-je toujours utiliser MySQL avec PHP? J'essaie d'utiliser MySQL, mais j'obtiens des erreurs "undefined function".
Après avoir ajouté le support partagé de MySQL, Apache plante dès que libphp4.so est chargé. Comment résoudre ce problème?
Pourquoi est ce que j'obtiens une erreur comme celle-ci : "Warning: 0 is not a MySQL result index in <file> on line <x>" ou "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>?

11.4.4 PHP 5 n'inclut plus les bibliothèques clientes MySQL, qu'est ce que ça implique pour moi? Puis-je toujours utiliser MySQL avec PHP? J'essaie d'utiliser MySQL, mais j'obtiens des erreurs "undefined function".

Oui. PHP supportera toujours MySQL, d'une façon ou d'une autre. Le seul changement avec PHP 5 est que nous ne compilons plus la bibliothèque cliente en elle-même. En voici en vrac quelques justifications :

  • La plupart des systèmes incluent maintenant les bibliothèques clientes.
  • Ainsi, avoir plusieurs versions des bibliothèques peut être gênant. Par exemple, si vous liez mod_auth_mysql à une version et PHP à une autre, et que vous les activez tous les deux dans Apache, vous obtenez un joli plantage. Ainsi, la bibliothèque cliente incluse avec PHP ne fonctionnait pas toujours bien. Le symptôme le plus gênant était que le chemin vers le socket Unix mysql.sock n'était pas le bon.
  • La maintenane en était lourde et le devenait de plus en plus au fur et à mesure des versions.
  • Les versions futures de la bibliothèque seront publiées sous license GPL et nous ne pouvons pas inclure une telle bibliothèque car sa license n'est pas compatible avec un projet sous license de type BSD/Apache. Un tel changement dans PHP 5 semble être la meilleure solution.

Ceci n'affectera pas tant que ça les utilisateurs. Les utilisateurs d'Unix, au moins ceux qui savent ce qu'ils font, ont tendance à compiler PHP avec les bibliothèques déjà installées sur leur système, simplement en spécifiant --with-mysql=/usr lors de la configuration de PHP. Les utilisateurs de Windows peuvent activer l'extension php_mysql.dll dans leur php.ini . Ainsi, assurez-vous que libmysql.dll est disponible dans le PATH du système. Pour plus de détails sur cela, lisez la FAQ sur la configuration du PATH sur les systèmes Windows . Comme libmysql.dll (et plusieurs fichiers relatifs à PHP) existe dans le dossier de PHP, il est recommandé d'ajouter le dossier de PHP à votre PATH système.

<< PHP 5 n'inclut plus les bibliothèques clientes MySQL, qu'est ce que ça implique pour moi? Puis-je toujours utiliser MySQL avec PHP? J'essaie d'utiliser MySQL, mais j'obtiens des erreurs "undefined function". >>
J'ai mis à jour vers PHP 4, et maintenant MySQL me dit toujours "Warning: MySQL: Unable to save result set in ...". Que se passe-t-il? Considérations sur les bases de données Après avoir ajouté le support partagé de MySQL, Apache plante dès que libphp4.so est chargé. Comment résoudre ce problème?