title: Password Hash function throwing error 1146
body: <p>I have a query like this</p>
  
  <pre><code>UPDATE `database`.`user` 
  SET `Password`=Password("test1234!@#$") 
  WHERE `UserID`='1234';
  </code></pre>
  
  <p>I ran this once and it updated the Password fine. I changed the case of the t in test and it started to fail with the message  </p>
  
  <blockquote>
    <p>Error Code: 1146. Table 'database.Unknown' doesn't exist. </p>
  </blockquote>
  
  <p>After some experimentation I found that removing the <code>$</code> in the string allowed the query to run successfully. I attempted to escape the character with / but the error still occurred. The collation on the column is <code>utf8</code> and it is <code>varchar(50)</code>. </p>
  
  <p>The query itself is being executed in <code>MySQL Workbench 5.2.47</code> and on <code>MySQL version 5.1.62</code> Community Edition.</p>
  
  <p>Can anyone enlighten me on why the $ is being troublesome.</p>
  
  <p>EDIT: It is now occurring without any of the special characters. I also am aware there are much safer ways of hashing passwords. I am just curious at this point why the specific error is occurring.</p>