Rechercher : dans
Par :

[PHP] Fatal error

Dernière réponse le 24 déc 2007 à 12:12:31 Djeak, le 13 déc 2007 à 14:21:01 
 Signaler ce message aux modérateurs

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

Configuration: Linux Fedora
Firefox 2.0.0.10

Meilleures réponses pour « [PHP] Fatal error » dans :
PHP Parse error: unexpected '&lt;' in ... eval()'d code on l VoirSymptômes Lors de l'utilisation de la fonction eval() en PHP, ce dernier se plaint et vous affiche un message de la forme suivante : PHP Parse error: syntax error, unexpected '
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';' VoirCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple :
PHP - Administration d'un annuaire LDAP VoirIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Pour plus d'informations sur les fonctions LDAP de PHP, reportez...

1

Pallas4, le 13 déc 2007 à 14:23:41

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

Répondre à Pallas4

2

Dr Zoidberg, le 13 déc 2007 à 14:27:19

Mysql_ ou mysqli ca dépent de l'extension utilisée (les deux existes http://fr.php.net/mysql http://fr.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.

Répondre à Dr Zoidberg

3

duky02, le 13 déc 2007 à 14:31:07

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

@+

Répondre à duky02

4

le père, le 13 déc 2007 à 14:32:05

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>

Répondre à le père

5

Djeak, le 13 déc 2007 à 14:57:44

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!!!^^

Répondre à Djeak

6

MadeByVince, le 23 déc 2007 à 11:20:32

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...

Répondre à MadeByVince

7

le père, le 24 déc 2007 à 00:06:02

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

Répondre à le père

8

alain42, le 24 déc 2007 à 10:27:59

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>";

  }



}

Répondre à alain42

10

 le père, le 24 déc 2007 à 12:12:31

Bonjour

SHOW STATUS n'a pas besoin de base. Cette commande donne des infos sur le serveur lui-même.

Répondre à le père

9

MadeByVince, le 24 déc 2007 à 11:43:49

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...

Répondre à MadeByVince