List:General Discussion« Previous MessageNext Message »
From:Dan Nelson Date:January 23 2008 7:02am
Subject:Re: Need to know how to do INSERTS, using variables for VALUE
View as plain text  
In the last episode (Jan 22), Kc9cdt@stripped said:
> Hello,
> Doing C coding with MSql.
> What am I missing here?
> 
> I am needing to do standard INSERT statements using variables for the
> VALUE fields These fields are changed in the application befre I
> issue the INSERT. The current proram uses : before the variable to
> make it work.
> 
> Like this: INSERT INTO EMP_MASTER (EMP_NO, SUPERVISOR,BADGE_NO)
>                 VALUES (:emp_no, :super, :badge_no);
> 
> The :emp_no etc.  is obviously what is not working...Why?

Mysql doesn't support named bind variables in the C API; it only
understands the "?" markers.  If you take a look at the MYSQL_BIND
struct, you can see there is no name field.  Which really just means
that when you call mysql_stmt_bind_param() you have to pass your
variables in the same order as they appeared in your query when you
called mysql_stmt_prepare().

http://dev.mysql.com/doc/refman/5.0/en/mysql-stmt-prepare.html
http://dev.mysql.com/doc/refman/5.0/en/mysql-stmt-bind-param.html

This has some example code:

http://dev.mysql.com/doc/refman/5.0/en/mysql-stmt-execute.html

My guess is that if you were to extend mysql_stmt_prepare() and
mysql_stmt_bind_param() to support named variables and submitted them
to bugs.mysql.com as a patch, no-one would object :)

-- 
	Dan Nelson
	dnelson@stripped
Thread
Need to know how to do INSERTS, using variables for VALUEKc9cdt23 Jan
  • Re: Need to know how to do INSERTS, using variables for VALUEDan Nelson23 Jan