Hello everyone,

I have been trying to create a form that saves the only field (email) in a localized database. When I submit my information through the site, the entire "newsletter.php" process is being completed, but there are no new rows in the table I created. Can someone please let me know if there is something wrong with the code?

PHP Code:
<?php

define
('DB_NAME''xxx');
define('DB_USER''xxx');
define('DB_PASS''xxx');


function 
log_for_grid($data)
{
    
$db = new mysqli('localhost'DB_USERDB_PASSDB_NAME);
    if ( ! 
mysqli_connect_errno())
    {
        
$sql '';
        foreach (
$data as $k => $v)
        {
            
$sql .= sprintf("`%s` = '%s', "$k$db->real_escape_string($v));
        }
        
$sql .= "date = NOW() ";

        
$db->query("INSERT INTO emails SET " $sql);

        
$db->close();
    }
}

function 
add_if_filled($data)
{
    
$out '';
    foreach (
$data as $k => $v)
    {
        
$out .= empty($v) ? '' "$k$v\n";
    }
    return 
$out;
}

PHP Code:
<?php
     
require('./database.inc.php');

    function 
clean_string($string) {
      
$bad = array("content-type","bcc:","to:","cc:","href");
      return 
str_replace($bad,"",$string);
    }


      
    
$email_from $_POST['email']; // required
   


function db_log($data)
{
    
$db = new mysqli('localhost'DB_USERDB_PASSDB_NAME);
    if ( ! 
mysqli_connect_errno())
    {
        
$data['email'] = $db->real_escape_string($data['email']);

        
$sql "INSERT INTO `emails` (date, email) VALUES ";
        
$db->query($sql);
        
$db->close();
    }
}

?>