sql >> Databáze >  >> RDS >> Mysql

php/Codeigniter-- Jak porovnat pouze datum vyloučením času

Problém je v tom, že váš kód generuje chybnou syntaxi SQL, jak ukazuje chyba.

Nejsem odborník na codeIgniter, ale zde je návod, jak přímo provést normální dotaz, to je pravděpodobně to, co chcete udělat:

function check_existing_User_weightStatus($u_id)
 {
    $today = date('Y-m-d');
    $this->load->database();
    $query = $this->db->query("SELECT * FROM `user_weight` WHERE `creater_id` = '$u_id' AND DATE(`created_date`) = '$today'");

    if ($query->num_rows() > 0) {
        return true;
    } else {
        return false;
    } 
 }

Chyba ve vašem kódu se vyskytuje na tomto řádku

$array = array('creater_id' => $u_id,DATE('created_date') => $today);

Jsem si docela jistý, že takto se klauzule where nebude dělat, takže můžete vyhledat dokumentaci codeIgniter ! najít správný způsob, jak to udělat! (Neříkáte klauzuli where, aby používala AND , OR , atd.. operátory)



  1. MariaDB JSON_REMOVE() Vysvětleno

  2. Unix Timestamp bigint(20)

  3. Získání upozornění:Hodnota Null je odstraněna agregací nebo jinou operací SET

  4. Smazat pomocí Join v Oracle SQL Query