FORUM D’ENTRAIDE INFORMATIQUE (FEI)
Site d’assistance et de sécurité informatique

Entraide pour le programmation en général (tous langages).
Règles du forum : Entraide concernant la programmation informatique en général, tous langages : recherche ou correction d'un code ou d'une fonction, aide à la réalisation d'un projet...
Pour la programmation web (HTML, CSS, PHP, MySQL...), il est conseillé de s'orienter dans le forum Webmastering.
Merci de lire et de respecter la charte générale du forum.
  • Avatar du membre
  • Avatar du membre
  • Avatar du membre
  • Avatar du membre
#212824
Bonjour, suite à un changement de serveur mon code php ne fonctionne plus , je suis passé en PHP 7.4
comment modifier mon code?
merci d'avance
voici le code
extract(shortcode_atts(array('iddomaine' => '0'), $atts));



// on se connecte à MySQL
$db = mysql_connect('localhost', 'bmdcformacom', '971admin971');
// on sélectionne la base
mysql_select_db('testbmdcformacom',$db);



$sql = "SELECT post_title,post_name,meta_value
FROM wp_posts, wp_postmeta
WHERE wp_posts.ID = wp_postmeta.post_id
AND wp_postmeta.meta_key = '_thumbnail_id'
AND wp_posts.post_name ='".$iddomaine. "'
ORDER BY post_title";

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$idimage="";
$nomdomaine="";


while($data = mysql_fetch_assoc($req))
{
$nomdomaine = $data['post_title'];
$idimage = $data['meta_value'];
}




$sql = "SELECT guid
FROM wp_posts
WHERE wp_posts.ID =".$idimage."";


$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$monimage ;


while($data = mysql_fetch_assoc($req))
{
$monimage = $data['guid'];
}



echo '<a href="https://institutformacom.com/audit-cons ... ne.'"><img class="featureimage" src="'.$monimage.'"></img>

<div class="titre_domaine">'.utf8_encode($nomdomaine).'</div></a>

' ;


echo('<style>

.titre_domaine{
text-align:center;
line-height:25px;
margin-top:30px;
}


.featureimage{
display: block;
margin-left: auto;
margin-right: auto

}


</style>

');


mysql_close($db);
#213056
Bonjour,

J'ai eu un problème similaire et je dois avouer que j'ai dû abandonner. PHP est passé en mode programmation objet et cela demande de nouvelles compétences que je n'ai ni le temps ni la force d'apprendre!

Bon courage en espérant que tu règle ce problème :hello:
#214621
Il faut changer de méthode pour l'accès à la base de données MySQL, et utiliser les fonctions équivalentes avec mysqli_* au lieu de mysql_*.
Voilà en petit exemple la fonction que j'utilises en permanence (pas parfaite mais fonctionnelle) ; attention car cela fonctionne très bien sur des requêtes simples, si tu attaque avec des requêtes plus complexes (du style imbriquée... etc...), le résultat peut être un peu hasardeux ou ne pas fonctionner :
Code : Tout sélectionner
/**
 * En cas d'erreur SQL, renvoie la valeur null après avoir affiché l'erreur (là ou ça tombe !)
 * S'il n'y a pas de résultat (0 lignes), retourne un tableau de valeur NULL.
 * @param string $requeteSQL	Requete à envoyer telle qu'elle (aucun contrôle !)
 * @param string $champID	Identifiant utilisé comme clé du tableau de valeurs, pour les requètes SELECT (inutile dans les autres cas)
 * La donnée renvoyée dépend du type de requette :
 * INSERT : ID de la ligne insérée (null = pas d'insertion possible)
 * UPDATE : nombre de lignes modifiées (null = modif non faite ; 0 = aucune !)
 * SELECT : tableau de valeurs "id" => tableau associatif "nom_champ" => "valeur" (null = pas de résultat trouvé (ou erreur...))
 * DELETE : nombre de lignes supprimées (0 ou null = rien effacé (erreur si null...)
 **/
function sqlRequete(string $requeteSQL, string $champID=NULL) {
	if ( strpos($requeteSQL,"_vue") ) echo('[ '.$requeteSQL.' ]<br />');
	$resultatArray=null; 
	// récupération des résultats SI possible...
	$lien = new mysqli(DB_server, DB_user, DB_password, DB_bdd); 
	if ($lien->connect_errno) {
		echo('ERREUR '.$lien->connect_errno.' : '.$lien->connect_error.'.');
		$retour = FALSE;
	} else {  
        $resultat = $lien->query($requeteSQL);
        if (stristr($requeteSQL,"SELECT")!==FALSE || stristr($requeteSQL,"SHOW")!==FALSE) {	// SELECT
            if ( ($resultat!==FALSE) and ($resultat->num_rows>0) ) {	// Renvoi les lignes dans un tableau de tableau associatif...
                while ($ligne = $resultat->fetch_assoc()) { 
                    if ( (is_string($champID)) and ( array_key_exists($champID, $ligne)) ) {
                        $resultatArray[$ligne[$champID]] = $ligne;
                    } else {                  
                        $resultatArray[] = $ligne;  
                    }
                }
                $retour = $resultatArray;
            } else {	$retour = FALSE;	}
            if ($retour=='') { $retour = FALSE; }
        }
        if (stristr($requeteSQL,"INSERT")!==FALSE) {	 
            $retour = $lien->insert_id;
        } elseif (stristr($requeteSQL,"UPDATE")!==FALSE) {
            $retour = $lien->affected_rows;	
        } elseif (stristr($requeteSQL,"DELETE")!==FALSE) {
            $retour = $lien->affected_rows;	
        }
    }
    if (!is_bool($resultat)) {  $resultat->free();  }
    $lien->close();
	return($retour); 
}
Et pour info, ça s'utilise comme ça :
Code : Tout sélectionner
$requete = "SELECT animaux.idx as id_animal, animaux.genre as genre FROM animaux WHERE animaux.genre LIKE '%can%' ;";
$listeAnimauxGenreContientCan = sqlRequete($requete,'id_animal');
echo "<ul>";
foreach ($listeAnimauxGenreContientCan as $id=>$animal) {
    echo "<li>ID = ".$id." est un ".$animal['genre']."</li>
}
echo "</ul>";

Hello everybody. Lately I have been very unlucky[…]

Having a coupon code is so convenient and helps a […]

Long-distance relationship

Hello everyone! Lately I have been thinking abou[…]

I appreciate you sharing this knowledge. I adore y[…]