Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

function phpQuery($colonne,$table){
    $query = mysqli_query($db,'SELECT '.$colonne.' FROM '.$table);
    return $query;
}

echo phpQuery(nom,configuration);

Ce que je veux

$query = mysqli_query($db,'SELECT $colonne FROM $table'); // soit: $query = mysqli_query($db,'SELECT nom FROM configuration'); en gros.

// pour ensuite
while($donnee = mysqli_fetch_assoc($query)){
// Code
}

Je veux en gros que la fonction phpQuery m'évite de lancer a chaque fois la même phrase mysqli_query()...... etc

Ce que j'obtiens

Notice: Use of undefined constant nom - assumed 'nom' in C:\xampp\htdocs\php\index.php on line 10
Notice: Use of undefined constant configuration - assumed 'configuration' in C:\xampp\htdocs\php\index.php on line 10
Notice: Undefined variable: db in C:\xampp\htdocs\php\config.php on line 20
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\php\config.php on line 20

Et la fonction de marche pas. Merci d'avance à celui qui comprend et qui m'aidera. Bonne journée

9 réponses


Te manque un ; et tu essaies de concaténer avec )

function phpQuery($colonne,$table){
    $query = mysqli_query($db,'SELECT '.$colonne.' FROM '.$table);
    return $query;
}

echo phpQuery(nom,configuration);
Jake
Auteur

Je cherche, je regarde mais je ne vois vraiment pas où il manque un ; + concaténer avec ) ???? je ne comprends pas..

Je t'ai mis le code fonctionnel

Jake
Auteur

Oula grosse erreur de ma part je modifie le topic attends..

De plus, tu as une erreur qui te dis que la variable "$db" n'existe pas dans ton mysqly_query.

Jake
Auteur
<?php
    // Session
    @session_start();

    // Connexion à MySQL
    $db = mysqli_connect('localhost' , 'root' , '' , 'php') or die(mysqli_error($db));

    // Fonctions
    function phpSecu($var){
        $var = htmlentities(htmlspecialchars(trim($var)));
        return $var;
    }

    function phpHash($var){
        $var = sha1($var);
        return $var;
    }

    function phpQuery($colonne,$table){
        $query = mysqli_query($db,'SELECT '.$colonne.' FROM '.$table);
        return $query;
    }

    // Configuration du site
    $site = mysqli_query($db,'SELECT * FROM configuration');
    $config = mysqli_fetch_assoc($site);

    // Maintenance
    if(phpSecu($config['maintenance']) === 0){
        header('Location: index.php');
        exit;
    }
    elseif(phpSecu($config['maintenance']) == 1){
        header('Location: error.php');
        exit;
    }
?>

Bien sur qu'elle existe la variable $db..

Tu ne la passe pas dans ta fonction, l'erreur vient de la.

tu dois avoir :

function phpQuery($db, $colonne, $table){
        $query = mysqli_query($db,'SELECT '.$colonne.' FROM '.$table);
        return $query;
    }

Bonjour.
Les principaux messages d'erreurs qui te sont retournés, sont dûs au fait que tu indiques les données sous forme de constantes et non sous forme de valeurs (string), il te faut donc remplacer :

echo phpQuery(nom,configuration);

par :

echo phpQuery('nom', 'configuration');