Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Inserting Apostrophes into SQL

by jfroebe (Parson)
on Nov 16, 2011 at 19:50 UTC ( [id://938452]=note: print w/replies, xml ) Need Help??


in reply to Inserting Apostrophes into SQL

Another, less elegant IMHO, option would be to use $query = sprintf "insert into da_table values (%s)", $dbh->quote("kjasdfkj'asdflkjasef'sadfhasdfsadf'asdfhasfd'");

Jason L. Froebe

Blog, Tech Blog

Replies are listed 'Best First'.
Re^2: Inserting Apostrophes into SQL
by chromatic (Archbishop) on Nov 16, 2011 at 22:54 UTC

    Sure, but it's slower and more complicated than placeholders, and easier to get wrong. Why even suggest it? Is there a case where you can't use placeholders?


    Improve your skills with Modern Perl: the free book.

      Actually I did run into a Sybase bug a few years ago where the placeholders resulted in the connection being dropped.

      Jason L. Froebe

      Blog, Tech Blog

        a Sybase bug

        I hope that's fixed, but say no more. I've had to work around my share of Sybase weirdnesses.


        Improve your skills with Modern Perl: the free book.

      Sybase can only have one active statement handle, but will transparently clone a database handle when necessary (unless you set the "I don't want that" flag).

      This means you may run into issues like deadlocks if you're, e.g., inserting in the same loop that you're selecting and fetching in (or other strangeness from having two separate sessions).

      And then I also ran into a bug where the cloned database handle didn't have the same client character set as the original (reported on the DBI mailing list).

      Update: And I just noticed that the OP doesn't mention Sybase anywhere...so this point may be moot anyway...

        Just a small clarification - it's not Sybase that clones the connection handle - it's DBD::Sybase that does this to try to provide the behavior that DBI expects.

        Michael

Re^2: Inserting Apostrophes into SQL
by ikegami (Patriarch) on Nov 16, 2011 at 22:15 UTC
    I remember being unable to do that for a numeric field. Do I remember incorrectly?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://938452]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (8)
As of 2024-04-25 11:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found