title: Can't insert value to table using PDO & MSSQL
body: <p>I have this php function which encrypts the password provided by a form to this: 
  <code>0xb539dbae17ef3d7c49d0f6f63ba18787</code> . </p>
  
  <pre><code>function encrypt($str) {
  $key = array();
  $dst = array();
  $i = 0;
  
  $nBytes = strlen($str);
          while ($i &lt; $nBytes){
               $i++;
                  $key[$i] = ord(substr($str, $i - 1, 1));
                  $dst[$i] = $key[$i];
  }  
  
  $rslt = $key[1] + $key[2]*256 + $key[3]*65536 + $key[4]*16777216;
  $one = $rslt * 213119 + 2529077;
  $one = $one - intval($one/ 4294967296) * 4294967296;
  
  $rslt = $key[5] + $key[6]*256 + $key[7]*65536 + $key[8]*16777216;
  $two = $rslt * 213247 + 2529089;
  $two = $two - intval($two/ 4294967296) * 4294967296;
  
  $rslt = $key[9] + $key[10]*256 + $key[11]*65536 + $key[12]*16777216;
  $three = $rslt * 213203 + 2529589;
  $three = $three - intval($three/ 4294967296) * 4294967296;
  
  $rslt = $key[13] + $key[14]*256 + $key[15]*65536 + $key[16]*16777216;
  $four = $rslt * 213821 + 2529997;
  $four = $four - intval($four/ 4294967296) * 4294967296;
  
  $key[4] = intval($one/16777216);        
  $key[3] = intval(($one - $key[4] * 16777216) / 65535);
  $key[2] = intval(($one - $key[4] * 16777216 - $key[3] * 65536) / 256);
  $key[1] = intval(($one - $key[4] * 16777216 - $key[3] * 65536 - $key[2] * 256));
  
  $key[8] = intval($two/16777216);     
  $key[7] = intval(($two - $key[8] * 16777216) / 65535);
  $key[6] = intval(($two - $key[8] * 16777216 - $key[7] * 65536) / 256);
  $key[5] = intval(($two - $key[8] * 16777216 - $key[7] * 65536 - $key[6] * 256));
  
  $key[12] = intval($three/16777216);     
  $key[11] = intval(($three - $key[12] * 16777216) / 65535);
  $key[10] = intval(($three - $key[12] * 16777216 - $key[11] * 65536) / 256);
  $key[9] = intval(($three - $key[12] * 16777216 - $key[11] * 65536 - $key[10] * 256));
  
  $key[16] = intval($four/16777216);     
  $key[15] = intval(($four - $key[16] * 16777216) / 65535);
  $key[14] = intval(($four - $key[16] * 16777216 - $key[15] * 65536) / 256);
  $key[13] = intval(($four - $key[16] * 16777216 - $key[15] * 65536 - $key[14] * 256));
  
  $dst[1] = $dst[1] ^ $key[1];
  
  $i=1;
  while ($i&lt;16){
      $i++;
      $dst[$i] = $dst[$i] ^ $dst[$i-1] ^ $key[$i];
  }
  
  $i=0;
  while ($i&lt;16){
      $i++;
      if ($dst[$i] == 0) {
          $dst[$i] = 102;
      }
  }
  
  $encrypt = "0x";
  $i=0;
  while ($i&lt;16){
      $i++;
      if ($dst[$i] &lt; 16) {
          $encrypt = $encrypt . "0" . dechex($dst[$i]);
      } else {
          $encrypt = $encrypt . dechex($dst[$i]);
      }
  }
  
  return $encrypt;
  }
  </code></pre>
  
  <p>The column in database is <code>[password] [binary] (16) NOT NULL</code></p>
  
  <p>the query is this: </p>
  
  <pre><code>$query = $this-&gt;db-&gt;prepare("INSERT INTO user_auth (account,password) VALUES (?, ?) ");
  $query-&gt;bindValue(1, $accname);
  $query-&gt;bindValue(2, $password);
  try{
  $query-&gt;execute(); 
  .................
  </code></pre>
  
  <p>But it returns: Implicit conversion from data type varchar to binary is not allowed. When i use <code>mssql_query</code> the insert is executed w/o problems. Have tried the <code>CONVERT(binary)</code> but the data isn't readable from the program which uses them. Also tried to change the column to varchar but ssame happened. Maybe I'm doing smth wrong with the PDO statement?  </p>
  
  <p>Thanks in advance.</p>