Thread: postgresql array with PHP
Hello All, I have a few array types in a table that I'd like to update/retrieve from PHP. I manage to update/insert the array with a common sql statement but am having a tough time retrieving the data back into an array like form. PHP seems to store the result of a Postgresql array as a single element. Is there a simple way to retrieve Postgresql array datatypes as a PHP array instead of a single element? Thanks, Steve Bourg
I had the same problem. I believe having an array field type in a database table doesn't help keep atomicity of the database. What I did was, thought about my table schema a little more. Worked out that I can use the array field type for only storing numbers. Why? When I receive the row from postgres I explode it. If I was using text in the array, it may contain "," which would then ruin the explode. Where $row[6] is the selected array field containing only numbers. $new_array = explode(",", ereg_replace("[{-}]", "", $row[6])); I was talking to rasmus ages back and he said there is no support for arrays from postgresql. On Sat, 31 Mar 2001 darius@shell.bourg.net wrote: > Hello All, > > I have a few array types in a table that I'd like to update/retrieve from > PHP. I manage to update/insert the array with a common sql statement but > am having a tough time retrieving the data back into an array like > form. PHP seems to store the result of a Postgresql array as a single > element. Is there a simple way to retrieve Postgresql array datatypes as > a PHP array instead of a single element? > > Thanks, > > Steve Bourg > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster > ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
I had the same problem. I believe having an array field type in a database table doesn't help keep atomicity of the database. What I did was, thought about my table schema a little more. Worked out that I can use the array field type for only storing numbers. Why? When I receive the row from postgres I explode it. If I was using text in the array, it may contain "," which would then ruin the explode. Where $row[6] is the selected array field containing only numbers. $new_array = explode(",", ereg_replace("[{-}]", "", $row[6])); I was talking to rasmus ages back and he said there is no support for arrays from postgresql. On Sat, 31 Mar 2001 darius@shell.bourg.net wrote: > Hello All, > > I have a few array types in a table that I'd like to update/retrieve from > PHP. I manage to update/insert the array with a common sql statement but > am having a tough time retrieving the data back into an array like > form. PHP seems to store the result of a Postgresql array as a single > element. Is there a simple way to retrieve Postgresql array datatypes as > a PHP array instead of a single element? > > Thanks, > > Steve Bourg > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster > ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)