Re: Error
От | Charley Tiggs |
---|---|
Тема | Re: Error |
Дата | |
Msg-id | E3211744-B90C-49DA-B4CF-5AE51859D36B@xpressdocs.com обсуждение исходный текст |
Ответ на | Error (<operationsengineer1@yahoo.com>) |
Список | pgsql-novice |
On Nov 30, 2005, at 3:35 PM, <operationsengineer1@yahoo.com> <operationsengineer1@yahoo.com> wrote: > i have the following code... > > // start > > $db = &ADONewConnection('postgres'); > $db -> > Connect($db_string,$db_owner,$db_pw,$db_name); > // $db -> debug=true; > > $customer_name = > $form->GetInputValue('customer_name'); > $customer_id = $db->getone("select > nextval('t_customer_cust_id_seq')"); > > $sql_insert = <<<_EOSQL > > INSERT INTO t_customer (customer_id, > customer_name, customer_entry_date) > VALUES (?,?,?) > > _EOSQL; > > $result = $db->Execute($sql_insert, > array($customer_id, $customer_name, > $db->DBDate(time()))); > > //end code > > it produces the following error... > > ERROR: column "customer_id" is of type integer but > expression is of type boolean HINT: You will need to > rewrite or cast the expression. > > any ideas? What's the value of $customer_id before you attempt the insert? right after $customer_id variable is set, do the following: echo $customer_id . '<br />'; echo gettype ( $customer_id ); exit; With ADO, a couple of times, I've run into a glitch where bindings changed types. Haven't taken the time to figure out why. Switching to autoExecute solves the problem: $insert_array = array ( 'customer_id' => $db->getone("select nextval ('t_customer_cust_id_seq')"), 'customer_name' => $form->GetInputValue('customer_name'), 'customer_entry_date' => $db->DBDate(time())) $result = $db->autoExecute ( 't_customer', $insert_array, 'INSERT' ); Most likely, the reason it works for me is that I cleaned up my error when switching to the autoExecute method. Charley
В списке pgsql-novice по дате отправления: