Skip site navigation (1) Skip section navigation (2)

Re: Error

From: Charley Tiggs <ctiggs(at)xpressdocs(dot)com>
To: <operationsengineer1(at)yahoo(dot)com> <operationsengineer1(at)yahoo(dot)com>
Cc: "pgsql-novice(at)postgresql(dot)org" <pgsql-novice(at)postgresql(dot)org>
Subject: Re: Error
Date: 2005-12-01 00:33:49
Message-ID: E3211744-B90C-49DA-B4CF-5AE51859D36B@xpressdocs.com (view raw or flat)
Thread:
Lists: pgsql-novice
On Nov 30, 2005, at 3:35 PM, <operationsengineer1(at)yahoo(dot)com>  
<operationsengineer1(at)yahoo(dot)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



In response to

  • Error at 2005-11-30 21:35:46 from operationsengineer1

Responses

  • Re: Error at 2005-12-01 01:00:02 from operationsengineer1
  • Re: Error at 2005-12-01 01:12:03 from operationsengineer1

pgsql-novice by date

Next:From: P GDate: 2005-12-01 00:39:51
Subject: ODBC driver is broken
Previous:From: Marcus EngeneDate: 2005-11-30 23:37:36
Subject: Re: Combinatorial problem

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group