Bonjour,
J'ai vu que PHP5 ne supporterait plus les requêtes MySQL et qu'il fallait les remplacer par MySQLi ou PDO.
Après enquête sur le net, j'ai vu qu'il faut, pour que ça marche chez FREE :
- travailler en PHP5
- mettre à la racine un répertoire sessions
- mettre à la racine un fichier .htaccess
# PHP-5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<ifDefine Free>
PHP 1
</ifDefine>
Quand j'exécute un phpinfo() :
  • sans ce fichier .htaccess je suis en PHP Version 4.4.3-dev

  • avec ce fichier .htaccess je suis en PHP Version 5.1.3RC4-dev

Donc cette directive est bien prise en compte ...
Cependant, quand j'exécute un code pour afficher simplement une table de ma BD :
[LIST][*]en LOCAL : ça marche parfaitement (serveur XAMPP), PHP Version : 5.3.8

Ci-dessous mon code et le résultat :

api_db.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
<?php
#-----------------------------------------------------------------------------------------------------------------------
# Connexion avec : PDO
#-----------------------------------------------------------------------------------------------------------------------
function db_connect_PDO()
{
global $G_BD_NAM , $G_BD_URL , $G_BD_LOG , $G_BD_PSW;
$CONN = new PDO('mysql:host='.$G_BD_URL.';dbname='.$G_BD_NAM.'', $G_BD_LOG, $G_BD_PSW );
return($CONN);
}
#-----------------------------------------------------------------------------------------------------------------------
# Connexion avec : MySQLi - PROCEDURAL
#-----------------------------------------------------------------------------------------------------------------------
function db_connect_MySQLi_PROCEDURAL()
{
global $G_BD_NAM , $G_BD_URL , $G_BD_LOG , $G_BD_PSW;
$CONN = mysqli_connect( $G_BD_URL , $G_BD_LOG , $G_BD_PSW , $G_BD_NAM) or die("Error " . mysqli_error($CONN));
return($CONN);
} // Fin de la fonction
#-----------------------------------------------------------------------------------------------------------------------
# Connexion avec : MySQLi - OBJET
#-----------------------------------------------------------------------------------------------------------------------
function db_connect_MySQLi_OBJET()
{
global $G_BD_NAM , $G_BD_URL , $G_BD_LOG , $G_BD_PSW;
$CONN = new mysqli($G_BD_URL , $G_BD_LOG , $G_BD_PSW , $G_BD_NAM);
return($CONN);
} // Fin de la fonction
#-----------------------------------------------------------------------------------------------------------------------
# Connexion avec : MySQL
#-----------------------------------------------------------------------------------------------------------------------
function db_connect_MySQL()
{
global $G_BD_NAM , $G_BD_URL , $G_BD_LOG , $G_BD_PSW;
$CONN = @mysql_connect ( $G_BD_URL , $G_BD_LOG , $G_BD_PSW ) or die ('PROBLEME DE CONNEXION');
	if ( $CONN && mysql_select_db( $G_BD_NAM , $CONN) )	return ($CONN);
	else												return (false);
return($CONN);
} // Fin de la fonction

#-----------------------------------------------------------------------------------------------------------------------
# Afficher la table avec : PDO
#-----------------------------------------------------------------------------------------------------------------------
function DB_afficher_PDO ()
{
$con = db_connect_PDO();
$req = "SELECT * FROM `maTABLE`;";
$res = $con->prepare($req);
$res->execute();
$arr = $res->fetchAll(PDO::FETCH_ASSOC);
print "\n". "<table class='small' border='0'>";
// Headers
print "\n" . "<tr>";
foreach ($arr[0] as $key => $useless)
{
if ($key<>"email") print "\n" ."<th>".$key."</th>";
}
print "\n" . "</tr>";
// Data
foreach ($arr as $row)
    {
    print "\n" . "<tr>";
    foreach ($row as $key => $val)
        {
        if ( stripos($val,'@') < 1 ) print "\n" . "<td>".substr($val,0,50)."</td>";
        }
    print "\n" . "</tr>";
    }
print "\n" . "</table>";
} // Fin fonction

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /mnt/102/sda/6/a/bruno.ponteprimo/sites/__template/api/api_db.php:8


#-----------------------------------------------------------------------------------------------------------------------
# Afficher la table avec : MySQL
#-----------------------------------------------------------------------------------------------------------------------
function DB_afficher_MySQL()
{
$con = db_connect_MySQL();
$req = "SELECT * FROM `maTABLE`;";
$res  = mysql_query ($req,$con);
if (!$res)	die('Lecture impossible : ' . mysql_error());
print "\n"	.	"<table class='small' border='0'>";
while ($enr = mysql_fetch_object($res))
	{
	echo "<tr>";
	echo "<td>".$enr->nom."</td><td>".substr($enr->msg,0,50)."</td><td>".$enr->datmaj."</td>";
	echo "</tr>";
	}
print "\n" . "</table>";
mysql_close($con);
} // Fin fonction

Pas de problème ...

#-----------------------------------------------------------------------------------------------------------------------
# Afficher la table avec : MySQLi PROCEDURAL
#-----------------------------------------------------------------------------------------------------------------------
function DB_afficher_MySQLi_PROC()
{
$con = db_connect_MySQLi_PROCEDURAL();
$req = "SELECT * FROM `maTABLE`;";
$res = mysqli_query($con, $req);
print "\n"	.	"<table class='small' border='0'>";
while ($row = mysqli_fetch_array($res))
	{
	echo "<tr>";
	echo "<td>".$row["nom"]."</td><td>".substr($row["msg"],0,50)."</td><td>".$row["datmaj"]."</td>";
	echo "</tr>";
    }
print "\n" . "</table>";
mysqli_free_result($res);
mysqli_close($con);
} // Fin fonction


Fatal error: Class 'mysqli' not found in /mnt/102/sda/6/a/bruno.ponteprimo/sites/__template/api/api_db.php on line 26


#-----------------------------------------------------------------------------------------------------------------------
# Afficher la table avec : MySQLi OBJET
#-----------------------------------------------------------------------------------------------------------------------
function DB_afficher_MySQLi_OBJET()
{
$con = db_connect_MySQLi_OBJET ();
$req = "SELECT * FROM `maTABLE`;";
$res = $con->query($req, MYSQLI_USE_RESULT);
print "\n"	.	"<table class='small' border='0'>";
while ( $obj = $res->fetch_object())
	{
	echo "<tr>";
	echo "<td>".$obj->nom."</td><td>".substr($obj->msg,0,50)."</td><td>".$obj->datmaj."</td>";
	echo "</tr>";
    }
print "\n" . "</table>";
$res->close();
$con->close();
} // Fin fonction


Fatal error: Call to undefined function mysqli_connect() in /mnt/102/sda/6/a/bruno.ponteprimo/sites/__template/api/api_db.php on line 17


#-----------------------------------------------------------------------------------------------------------------------
# TEST# SELECT COUNT avec fetch_row
#-----------------------------------------------------------------------------------------------------------------------
function DB_count_fetch_row ()
{
$con = db_connect_MySQLi_OBJET();				// Ouvrir la connexion
$req = "SELECT COUNT(*) FROM `bb_livre`;";		// Requête
$res = $con->query($req);						// Exécuter la requête
$row = $res->fetch_row();						// Nombre de lignes
$con->close();								// Fermer  la connexion
return ($row[0]);
} // Fin fonction


Fatal error: Class 'mysqli' not found in /mnt/102/sda/6/a/bruno.ponteprimo/sites/__template/api/api_db.php on line 26


#-----------------------------------------------------------------------------------------------------------------------
# SELECT COUNT avec fetch_assoc
#-----------------------------------------------------------------------------------------------------------------------
function DB_count_fetch_assoc ()
{
$con = db_connect_MySQLi_OBJET();                                          // Ouvrir la connexion
$req = "SELECT COUNT(*) as COMPTEUR FROM `maTABLE`;";	// Requête
$res = $con->query($req);                                                         // Exécuter la requête
$row = $res->fetch_assoc();                                                      // Constituer un tableau associatif
$res->close();
return ($row['COMPTEUR']);                                                       // Nombre de lignes
} // Fin fonction


Fatal error: Class 'mysqli' not found in /mnt/102/sda/6/a/bruno.ponteprimo/sites/__template/api/api_db.php on line 26
Mapage.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<hr color='red' size='5'><h3>Lister une table avec PDO                  </h3><?php DB_afficher_PDO          ();?>
<hr color='red' size='5'><h3>Lister une table avec MySQL                </h3><?php DB_afficher_MySQL        ();?>
<hr color='red' size='5'><h3>Lister une table avec MySQLi OBJET         </h3><?php DB_afficher_MySQLi_OBJET ();?>
<hr color='red' size='5'><h3>Lister une table avec MySQLi PROCEDURAL    </h3><?php DB_afficher_MySQLi_PROC  ();?>
<br><br><br>
<hr color='red' size='5'><h3>Compter avec fetch_row                     </h3><?php echo DB_count_fetch_row  ();?>
<hr color='red' size='5'><h3>Compter avec fetch_assoc                   </h3><?php echo DB_count_fetch_assoc();?>