de l'aide i am dead with 7,3 ! ( migration php 5,4->7,3)
Posté : 25 févr. 2020, 14:42
Bonjour,
J'ai un petit script qui marchait parfaitement bien avec php 5.3 mais avec l'obsoléte fonction mysql ,avec 7,3 les choses se complique pour le newbe que je suis.
le script (c'est une petition basique) a transformé en 7,3 est :
mysqli_connect("$host", "$login", "$password" , "$bdd");
et le message d'erreur disparait.
je rajoute donc un i pour mysql_query et mysql_close et @mysqli_num_rows et @mysql_fetch_array comme vu "bétement" dans l'excellent tuto (post446278.html#p446278)
pour produire 2 nouvelles erreurs :
"call to undefinied function mysqli_query() expected at least 2 parameters 1 is given "
"mysqli_cloase () expects exactly 1 parameters o is given"
mais cela ne fonctionne pas , trop simple ??
merci pour votre aide
J'ai un petit script qui marchait parfaitement bien avec php 5.3 mais avec l'obsoléte fonction mysql ,avec 7,3 les choses se complique pour le newbe que je suis.
le script (c'est une petition basique) a transformé en 7,3 est :
<?php
echo '<center><table><tr><td><b>Nom</b></td><td><b>Prénom</b></td><td><b>Date de signature</b></td><td><b>country name</b></td></tr>';
// On se connecte à la base de données
1 mysql_connect("$host", "$login", "$password");
2 mysql_select_db("$bdd");
// On sécurise les champs
3 $nom = htmlspecialchars($_POST['nom']);
4 $prenom = htmlspecialchars($_POST['prenom']);
5 $pays = htmlspecialchars($_POST['pays']);
6 $date = date('d/m/Y');
7 $submit = htmlspecialchars($_POST['submit']);
// On vérifie que tous les champs sont bien remplis
8 if($submit && empty($nom))
9 {
// Message d'erreur
10 die('<center>Vous devez remplir tous les champs.<br /><br /></center>');
11 }
12 if($submit && empty($prenom))
13 {
// Message d'erreur
14 die('<center>Vous devez remplir tous les champs.<br /><br /></center>');
15 }
16 if($submit && empty($pays))
17 {
// Message d'erreur
18 die('<center>Vous devez remplir tous les champs.<br /><br /></center>');
19 }
// On vérifie que les champs sont assez longs pour être raisonnables
20 $long1 = strlen($nom);
21 $long2 = strlen($prenom);
22 $long3 = strlen($pays);
// Si le nom est trop court (plus petit que 3 caractères)
23 if($submit && $long1 < '3')
24 {
// Message d'erreur
25 die('<center>Votre nom doit faire plus de 3 caractères.<br /><br /></center>');
26 }
// Si le prénom est trop court (plus petit que 3 caractères)
27 if($submit && $long2 < '3')
28 {
// Message d'erreur
29 die('<center>Votre prénom doit faire plus de 3 caractères.<br /><br /></center>');
30 }
// Si le pays est trop court (plus petit que 3 caractères)
31 if($submit && $long3 < '3')
32 {
// Message d'erreur
33 die('<center>Votre pays doit faire plus de 3 caractères.<br /><br /></center>');
34 }
35 if($submit)
36 {
// On enregistre la participation à la pétition
37 mysql_query("INSERT INTO power_petition VALUES('', '" . $nom . "', '" . $prenom . "', '". $date ."','". $pays ."')");
38 }
// On sélectionne les résultats
39 $sql = mysql_query('SELECT * FROM power_petition ORDER BY id DESC');
// On compte le nombre de signatures
40 $signs = @mysql_num_rows($sql);
41 while($donnees = @mysql_fetch_array($sql))
42 {
43 ?><tr><td><?php echo $donnees['nom']; ?></td><td><?php echo $donnees['prenom']; ?></td><td><?php echo $donnees['date']; ?></td><td><?php echo $donnees['pays']; ?></td></tr>
44 <?php
45 }
46 echo '</table></center>';
// On ferme la connexion MYSQL
47 mysql_close();
48 ?>
a la ligne 1 je mets :mysqli_connect("$host", "$login", "$password" , "$bdd");
et le message d'erreur disparait.
je rajoute donc un i pour mysql_query et mysql_close et @mysqli_num_rows et @mysql_fetch_array comme vu "bétement" dans l'excellent tuto (post446278.html#p446278)
pour produire 2 nouvelles erreurs :
"call to undefinied function mysqli_query() expected at least 2 parameters 1 is given "
"mysqli_cloase () expects exactly 1 parameters o is given"
mais cela ne fonctionne pas , trop simple ??
merci pour votre aide