Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: DBI place holder for sub query problem

by jettero (Monsignor)
on Jan 02, 2008 at 16:36 UTC ( #659998=note: print w/replies, xml ) Need Help??

in reply to DBI place holder for sub query problem

The DBI handles the quoting on it's own (the reason you use the place holders)... Perhaps this'll work better?

$sth=$dbh->prepare("Update Customers set RESULTS =? where rec_no=?");


Replies are listed 'Best First'.
Re^2: DBI place holder for sub query problem
by Anonymous Monk on Jan 02, 2008 at 16:52 UTC
    Thank you for your input, but when I tried it I get
    DBD::Oracle::st execute failed: ORA-01722: invalid number (DBD ERROR: +error possibly near <*> indicator at char 30 in 'Update Customers set + RESULTS =:<*>p1....
    is this because it is a sql string and not a number. The sqlstring, when executed alone returns a number. TIA
      If it's not a bind variable then it's not a bind variable. The bind vars get meta-quoted automagically, sql probably should not be, so I don't think you can use a bind variable to do that job.


      If you are using a sub-query then the parenthesis are needed. Just omit the single quotes.
      $sth=$dbh->prepare("Update Customers set RESULTS = (?) where rec_no = +?");
      From the error message, it seems like you are assigning RESULTS with something like SELECT.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://659998]
[choroba]: I was albe to solve the first two problems, plus hack the 5th
[choroba]: No idea how to solve the rest.

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2018-04-21 19:46 GMT
Find Nodes?
    Voting Booth?