| |||||||||||
| |||||||||||
Is this a hash in an SQL insert statement? Posted by enquirer (enquirer), 24 March 2005 in the Perl Cookbook example 14.5 page 565 I found something I just can't get a grip of. They have a line $sql_fmt = "INSERT INTO users VALUES( %d, %s)"; which is used to update rows in a table, but I can't figure how you can pass HASHES like that especially as they are not refered to anywhere else in the code. If they passed items in a HASH I could understand but the whole HASH! Posted by admin (Graham Ellis), 24 March 2005 The trick is that it's not a hash - it's a format string, where the %d and %s are filled in further down in the example using the sprintf function; to that function, %d in a text string means "insert a number to base 10 here" and %s means "insert a character string here". The % character is NOT special in a double quoted string, so it's not taken as a hash.If you look a few lines down the example, you'll read $sql = sprintf($sql_fmt,$user->uid, $dbh->quote($user->name)); which is doing the formatting. This page is a thread posted to the opentalk forum
at www.opentalk.org.uk and
archived here for reference. To jump to the archive index please
follow this link.
|
| ||||||||||
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho |