0
votes

SQL Query Codeigniter Query Builder PHP

Je dois interroger la base de données où la total_pago doit être égale à la valeur Valor dans le tableau contas_pagar xxx p> Image de la base de données

comme l'image du résultat devrait apporter Seules les données correspondant à la requête, mais elles apportent toutes les données de la table


0 commentaires

4 Réponses :


-1
votes
function get_users() {
    
    $query = $this->db->get_where("contas_pagar", array('total_pago' => 'valor'));
           
    return $query->result_array();
    
}

2 commentaires

Si vous utilisez get_where , vous n'avez pas non plus besoin de $ query-> get ()


Je n'ai pas compris la réponse, pourriez-vous mieux l'expliquer?



0
votes

Selon la documentation ( https://codeigniter.com/userguide3/ database / query_builder.html # selection-data ) vous voulez ce qui suit (note == vs => ):

->get_where('contas_pagar', array(false))

Ce que vous avez maintenant est d'évaluer à

->get_where('contas_pagar', array('total_pago' => 'valor'))

car en PHP la chaîne 'total_pago' n'est pas égale à 'valor' .


1 commentaires

Cela ne fonctionnera probablement pas ... Même si vous faites un point valide avec le => vs == , la clause where est toujours recherche d'une chaîne ( 'valeur' ​​) dans ce qui semble être un champ numérique ( total_pago )



0
votes

En supposant que total_pago est un champ numérique et que valor est une variable qui contient un nombre, votre instruction get_where doit être:

->get_where('contas_pagar', array('total_pago' => $valor))


0 commentaires

0
votes

vous pouvez l'utiliser pour inspecter votre requête. afin que nous puissions voir toute la requête exécutée par mysq / sql et que nous puissions vérifier où l'erreur se produit

$this->db->query('SELECT * FROM contas_pagar WERE total_pago=? ',[$valor])->result_array()

également, vous pouvez également utiliser la requête personnalisée

XXX


0 commentaires