[PHP] Fatal error

Fermé
Djeak - 13 déc. 2007 à 14:21
csi_bern Messages postés 64 Date d'inscription lundi 29 mars 2010 Statut Membre Dernière intervention 26 octobre 2020 - 20 sept. 2013 à 15:51
Bonjour tous le monde.

C'est la premiére fois que je vien sur ce forum et je vous le dit, je vien de commencé le php.

Mon probleme est que sur ma page ou on est censé se connecté a la base de données etc...on me dit:

"Fatal error: Call to undefined function: mysqli_connect() in /mnt/163/sdb/f/b/djeaks/connexion.php on line 12"

Sachant que la ligne 12 c'est celle la (avec le programme autour pour mieu comprendre^^)

$user="";
$host="";
$password="";
$database="";

$connexion=mysqli_connect($host, $user, $password) <===Ligne 12
or die ('Connexion impossible');

$db=mysqli_select_db($connexion, $database)
or die ('Connexion impossible');

SVP aidé moi, je suis desespérer...
Merci d'avance

PS; Si quelque peut me dire ce qu'on doit mettre dans "$host" ce serai sympa. Je sui héberger chez free

10 réponses

mysqli_connect ?

ce n'est pas mysql_connect ? (-même chose pour select)

Sinon pour host ce n'est pas l'adresse IP de la base de données ? On la voit dans le phpMyAdmin
0
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
13 déc. 2007 à 14:27
mysql_ ou mysqli ca dépent de l'extension utilisée (les deux existes https://www.php.net/manual/en/mysql.php https://www.php.net/mysqli la dernière est la version améliorée pour mysql >= 4.1.
Mais effectivement si free ne fournit pas l'extension mysqli il faut essayer mysql.
0
duky02 Messages postés 46 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 23 octobre 2008 2
13 déc. 2007 à 14:31
salut
si tu es chez FREE donc en PHP5 tu peux utiliser Mysqli (Plus rapide que Mysql)
Sinon, voila comment faire :
pour acceder a PHPMyAdmin vas sur sql.free.fr

exemple ton espace est toto02.free.fr
<?php
$user="toto02";
$host="ftpperso.free.fr";
$password="ton passe";
$database="toto02";

$connexion=mysqli_connect($host, $user, $password) <===Ligne 12
or die ('Connexion impossible');
$db=mysqli_select_db($connexion, $database)
or die ('Connexion impossible');
?>

Si ce code plante c'est que tu n'est pas en présence de PHP5, essaye alors la fonction mysql_connect et mysql_select_db

@+
0
Bonjour

Je suis hébergé chez Free
pour free
$host = 'localhost';

Sinon, ton mysqli_connect inconnu c'est parce que tu tournes avec PHP4
tu as 2 options :
. utiliser les fonctions mysql_ au lieu de mysqli_ en restant sous PHP4
. tourner sous PHP5 , ce que je te conseille, en gardant test fonctions mysqli_ mais en mettant dans le fichier.htaccess à la racine de ton site :
<ifDefine Free>
PHP 1
</ifDefine>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci beaucoup pour vos reponses. En fait c'etait un erreur vraiment bete^^
En tous cas, tous marche maintenant donc merci encore

PS: Ce site est trop génial!!!^^
0
MadeByVince Messages postés 1 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007
23 déc. 2007 à 11:20
Salut, j'ai exactement la même erreur... Je travaille sur mon serveur web local (IIS) avec PHP 5.2.5 et MySQL Server 5.0 installés et apparement fonctionnels.
Le code source vient du bouquin "PHP et MYSQL pour les nuls"
Comme ici c'est un simple test de dialogue entre PHP et MySQL je n'ai pas la ligne spécifiant la DB mais simplement :

$host="localhost";
$user="";
$password="";

$cxn=mysqli_connect($host, $user, $password);
$sql="SHOW STATUS";
$result=mysqli_query($cxn,$sql);
etc etc

Je ne trouve pas de solution avec ce qui a été expliqué plus haut dans ce topic... Vous pouvez m'aider ?

Merci beaucoup...
0
Bonjour

Si tu préfères travailler avec l'interface mysql améliorée (mysqli_...) ce qui est fortement conseillé, va dans le fichier php.ini du répertoire où se trouve ton php 5 et ôte le point virgule au début de la ligne :

extension=php_mysqli.dll
0
Salut,

pour répondre à MadeByVince deux topic plus haut:

- tu devrais faire un autre topic

- si tu ne selectionnes pas la base, SHOW STATUS ne pourra pas te donner les infos sur les tables qui sont dedans

et pour afficher tout il faut "sortir " $result de la zone mémoire d'extraction:

while ($ligne=mysql_fetch_array($result){
  // et afficher tout en parcourant tous les elements de l'array $ligne
   for($i=0;$i<sizeof($ligne);$i++){
        echo $ligne[$i]."<br>";

  }



}
0
Bonjour

SHOW STATUS n'a pas besoin de base. Cette commande donne des infos sur le serveur lui-même.
0
Merci pour vos réponses, je vais essayer ça au plus tôt car je suis en train de reformatter mon serveur...
Une fois la machine opérationelle je vérifierai le paramètre donné par le père.
Pour la suggestion d'Alain, je n'ai fait que prendre la source telle quelle dans le bouquin. Ce code est sensé simplement m'afficher une table avec les variables du server MySQL et leurs valeurs comme le fait la commande <?php phpinfo(); ?> pour les infos associées à PHP.
Bien sur ici j'ai coupé le code pour juste mettre le début car la source complète à aussi une partie servant à afficher la table et son contenu mais comme mon problème est directement lié à la ligne de cote faisant le mysqli_connect je n'ai pas jugé nécéssaire d'allourdir le message avec la suite...
0
csi_bern Messages postés 64 Date d'inscription lundi 29 mars 2010 Statut Membre Dernière intervention 26 octobre 2020 2
Modifié par csi_bern le 20/09/2013 à 15:51
Bonjour,

J'ai créé un petit intranet hébergé sur une machine virtuelle mise à dispo par mon employeur. J'ai installé php 5.3.10 et MySql 5.5.20. Depuis plus de 2 ans cet intranet fonctionne sans soucis.

Mais aujourd'hui, alors que je modifiais une petite boucle php dans une de mes pages (je ne sais pas si ça a un rapport avec mon problème, mais ça peut être utile à la résolution), la page n'a plus voulu se charger m'affichant juste :

Fatal error: Call to undefined function mysqli_connect() in C:\wamp\www\test\connexion.php on line 8

Depuis, toutes mes pages bloquent à ce niveau là (C'est clair car je fais un import dans toute mes page vers cette page de connextion). J'ai d'abord essayer de redémarrer ma machine virtuelle en pensant qu'il s'agissait d'un plantage, j'ai ensuite chercher sur Internet une réponse et ainsi j'ai contrôlé que mes extentions MySql étaient activées et présentes ainsi que leur chemin d'accès. J'ai également effectuer un phpinfo() qui me parle bien de MySQL et pour ce que j'en sais la réponse fournie montre que tout marche. Enfin, j'ai effectué un get_defined_functions() et là, j'obtiens une page blanche. N'ayant jamais essayé cette fonction auparavant, je ne savais pas trop à quoi m'attendre, mais je ne pense pas que ce soit normal.

Enfin, voilà, je ne sais plus quoi faire. Je sais que ce n'est pas bien vu de le dire, mais c'est quand même assez urgent comme problème.

Je vous laisse encore juste le code de la page connexion.php.

Merci d'avance

<?php
//phpinfo();
//get_defined_functions();
$bdi = mysqli_connect('localhost', 'root', '*','ktdtest') or die("Impossible de se connecter : " . mysql_error());
?>
0