Peter wrote:
I am trying to convert ms access sql to postgresql using php.
I have a sql statement in the form ;-
$sql = SELECT DISTINCT [Table Name].[Column.Name], [Table Name 1].[Column
Name 2] etc.
what I want to end up with is $sql = SELECT DISTINCT table_name.column_name,
table_name_1.column_name_2, ........
I have managed to get the caps to lower but I cant work out how to put the _
in place of spaces if the spaces are between [ ]. I either end up with
S_E_L_E_C ..... or SELECT_DISTINCT_ etc... .
Naturally I have only used part of sql statement and table, column names
have been changed. (Think the one I'm trying on is 2000+ characters. So its
not a case of set number of words/numbers between [] it could be 2 or it
could be 4 etc)
Anyone workout what I am talking about and can help would be appreciated.
Peter
Something along the lines of this?
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$sql = "SELECT DISTINCT [Table Name].[Column Name], ".
"[Table Name 1].[Column Name 2]";
echo "{$sql}<br />\n";
preg_match_all('%\[([^\]]+)\]%', $sql, $matches, PREG_SET_ORDER);
$change = array();
foreach ( $matches AS $match ) {
$change[$match[0]] = str_replace(' ', '_', $match[1]);
}
echo '<pre>'.print_r($change,1).'</pre>';
echo str_replace(array_keys($change), $change, $sql);
--
Jim Lucas
"Some men are born to greatness, some achieve greatness,
and some have greatness thrust upon them."
Twelfth Night, Act II, Scene V
by William Shakespeare
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php