title: PHPMailer doesn't recognize to address
body: <p>I'm using phpmailer to send emails to addresses stored in the variable $to, but this</p>
  
  <pre><code>$mail-&gt;AddAddress($to);
  </code></pre>
  
  <p>results in this error message </p>
  
  <pre><code>You must provide at least one recipient email address.
  </code></pre>
  
  <p>I have tried printing $to and it prints out the correct email address where I want the message to be sent. The mail gets sent if I put in an email address instead of $to. Could anyone help? Thanks!</p>
  
  <p>This is the code in question:</p>
  
  <pre><code>// if the email seller form is submitted
  if ($_SERVER["REQUEST_METHOD"] == "POST")
  {
  
  // retreive the seller's email using his id
  $seller_id = $_GET["sellerid"];
  
  // query for the seller's email
  $user_query = query("SELECT username FROM users WHERE id = ?", $seller_id);
  $to = $user_query[0]["username"];   
  
  // send an email to the seller
  require_once("PHPMailer/class.phpmailer.php");
  
  // instantiate mailer
  $mail = new PHPMailer();
  
  // use your ISP's SMTP server
  $mail-&gt;IsSMTP();
  $mail-&gt;Host = "smtp.fas.harvard.edu";
  
  // set From:
  $mail-&gt;SetFrom($_POST['buyer_email']);
  
  // set To:
  $mail-&gt;AddAddress($to);
  
  // set Subject:
  $mail-&gt;Subject = $_POST['subject'];
  
  // set body
  $mail-&gt;Body = $_POST['message'];
  
  // set alternative body, in case user's mail client doesn't support HTML
  $mail-&gt;AltBody = "Please view this message in an HTML-enabled browser.";
  
  // send mail
  if ($mail-&gt;Send() === false)
      die($mail-&gt;ErrorInfo . "\n");
  </code></pre>
  
  <p>This is the query function</p>
  
  <pre><code>    /**
  * Executes SQL statement, possibly with parameters, returning
  * an array of all rows in result set or false on (non-fatal) error.
  */
  function query(/* $sql [, ... ] */)
  {
  // SQL statement
  $sql = func_get_arg(0);
  
  // parameters, if any
  $parameters = array_slice(func_get_args(), 1);
  
  // try to connect to database
  static $handle;
  if (!isset($handle))
  {
      try
      {
          // connect to database
          $handle = new PDO("mysql:dbname=" . DATABASE . ";host=" . SERVER, USERNAME, PASSWORD);
  
          // ensure that PDO::prepare returns false when passed invalid SQL
          $handle-&gt;setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 
      }
      catch (Exception $e)
      {
          // trigger (big, orange) error
          trigger_error($e-&gt;getMessage(), E_USER_ERROR);
          exit;
      }
  }
  
  // prepare SQL statement
  $statement = $handle-&gt;prepare($sql);
  if ($statement === false)
  {
      // trigger (big, orange) error
      trigger_error($handle-&gt;errorInfo()[2], E_USER_ERROR);
      exit;
  }
  
  // execute SQL statement
  $results = $statement-&gt;execute($parameters);
  
  // return result set's rows, if any
  if ($results !== false)
  {
      return $statement-&gt;fetchAll(PDO::FETCH_ASSOC);
  }
  else
  {
      return false;
  }
  </code></pre>
  
  <p>}</p>