Incorrect bind column causes HY093

Over the past few weeks, I’ve been learning more about XSL, Javascript, and CSS. Along the way, I’ve been doing much more work with PDO. Yesterday I encountered a 501: Internal Server Error which had me stumped until this morning.

The SQL was something like this:

INSERT INTO mybconfig.keys (key_name, key_type_id) VALUES ( :key_name, :key_id_type )’

Upon calling execute(), the exception thrown was similar to this:

501: Internal Server Error

Description: The server encountered an internal error or misconfiguration and was unable to complete your request.

Message: HY093: SQL: INSERT INTO mybconfig.keys (key_name, key_type_id) VALUES ( :key_name, :key_id_type )

The code looked like this (greatly simplified for demonstration purposes):

$query = $this->tPDO->prepare('INSERT INTO keys (key_name, key_type_id) VALUES ( :key_name, :key_id_type )');
$query->bindValue( ':key_name',  'testing');
$query->bindValue( ':key_type_id', 1);

Look for a while, then find the problem. I know the cause, and will update this post with the solution.

Website Pin Facebook Twitter Myspace Friendfeed Technorati Digg Google StumbleUpon Premium Responsive

2 thoughts on “Incorrect bind column causes HY093”

  1. Ron: Yes, that’s the issue.

    I encountered this same problem yesterday. I mentioned it to my DBA. He didn’t recognize the error code.

    He went searching for it, and found this article. :)

Leave a Comment

Scroll to Top