[PHP-DB] mysql to postgres migration blues...
Hi, I am trying to get skilled up on postgres and decided to port a little movie database I wrote for mysql with php to access it. I used an auto converter for the bulk and then tried to tweak. The following code does not work but the error message it gives me is strange. It tells me that the connection string used on line 82 (where it calls pg_query in makelistboxentries) is invalid... but the same string/connection works just great in another script... any pointers appreciated. Cheers Antoine ?php /* Connect to database */ $link = pg_connect(dbname=movies host=localhost user=anton password=password) or die(Could not connect : . pg_result_error($link)); print TII div id=mybody Search by: BR TABLE border=1 cellpadding=10 cellspacing=10TR TD align=center ID: form name=input action=searchout.php method=post input type=text name=mychoice input type=hidden name = wherestring value= t1.ID = input type=hidden name = othertable value=movies input type=submit value=Submit /form /TD TD align=center Name: form name=input action=searchname.php method=post input type=text name=mychoice input type=submit value=Submit /form /TD/TR /TABLEBR TABLE border=1 cellpadding=10 cellspacing=10TR TII; makelistboxentries(Audio Language, lang, lang, audio , t2.movie = t1.ID and t2.lang = ); makelistboxentries(Subtitle Language, lang, lang, subtitles , t2.movie = t1.ID and t2.lang = ); makelistboxentries(Genre, Genre, Genre, moviegenre , t2.movie = t1.ID and t2.genre = ); print TINI /TD /TR/TABLE brbr PShow All:/P form name=input action=allout.php method=post input type=submit value=Submit /form /div div id=mymenu PA href=index.phpH3Back to main page/H3/A/P PA href=movie.phpAdd a movie/A/P Pa href=audio.phpAdd a movie's audio languages/a/P Pa href=subtitles.phpAdd a movie's subtitle languages/a/P Pa href=searchin.phpSearch the movies/a/P /div TINI; /* Close connection */ pg_close($link); function makelistboxentries($title, $mytable, $mycolumn, $othertable, $wherestring) { print TD align=\center\; print $title:; /* Perform SQL query */ $query = SELECT $mycolumn FROM $mytable; $result = pg_query($link,$query) or die(Query failed : . pg_result_error($link)); print form name=\input\ action=\searchout.php\ method=\post\; print SELECT NAME=\mychoice\; print option value=\zz\ SELECTEDSelect $title/option; while ($line = pg_fetch_array($result,$result_countt++,PGSQL_ASSOC)) { foreach ($line as $col_value) { print (OPTION VALUE=\.$col_value.\); print $col_value; print (/OPTION); } } print /select; print input type=hidden name = wherestring value=\$wherestring\; print input type=hidden name = othertable value=$othertable; print input type=\submit\ value=\Submit\; print /form; pg_free_result($result); } ? -- G System, The Evolving GUniverse - http://www.g-system.at -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP-DB] mysql to postgres migration blues...
Could be a scope problem. The connection is declared outside the function and the attempt to run a query is inside the function...Maybe add the global command to the connection. Or declare the connection inside the function... Bastien From: Antoine [EMAIL PROTECTED] Reply-To: Antoine [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [PHP-DB] mysql to postgres migration blues... Date: Thu, 23 Sep 2004 19:44:51 +0200 Hi, I am trying to get skilled up on postgres and decided to port a little movie database I wrote for mysql with php to access it. I used an auto converter for the bulk and then tried to tweak. The following code does not work but the error message it gives me is strange. It tells me that the connection string used on line 82 (where it calls pg_query in makelistboxentries) is invalid... but the same string/connection works just great in another script... any pointers appreciated. Cheers Antoine ?php /* Connect to database */ $link = pg_connect(dbname=movies host=localhost user=anton password=password) or die(Could not connect : . pg_result_error($link)); print TII div id=mybody Search by: BR TABLE border=1 cellpadding=10 cellspacing=10TR TD align=center ID: form name=input action=searchout.php method=post input type=text name=mychoice input type=hidden name = wherestring value= t1.ID = input type=hidden name = othertable value=movies input type=submit value=Submit /form /TD TD align=center Name: form name=input action=searchname.php method=post input type=text name=mychoice input type=submit value=Submit /form /TD/TR /TABLEBR TABLE border=1 cellpadding=10 cellspacing=10TR TII; makelistboxentries(Audio Language, lang, lang, audio , t2.movie = t1.ID and t2.lang = ); makelistboxentries(Subtitle Language, lang, lang, subtitles , t2.movie = t1.ID and t2.lang = ); makelistboxentries(Genre, Genre, Genre, moviegenre , t2.movie = t1.ID and t2.genre = ); print TINI /TD /TR/TABLE brbr PShow All:/P form name=input action=allout.php method=post input type=submit value=Submit /form /div div id=mymenu PA href=index.phpH3Back to main page/H3/A/P PA href=movie.phpAdd a movie/A/P Pa href=audio.phpAdd a movie's audio languages/a/P Pa href=subtitles.phpAdd a movie's subtitle languages/a/P Pa href=searchin.phpSearch the movies/a/P /div TINI; /* Close connection */ pg_close($link); function makelistboxentries($title, $mytable, $mycolumn, $othertable, $wherestring) { print TD align=\center\; print $title:; /* Perform SQL query */ $query = SELECT $mycolumn FROM $mytable; $result = pg_query($link,$query) or die(Query failed : . pg_result_error($link)); print form name=\input\ action=\searchout.php\ method=\post\; print SELECT NAME=\mychoice\; print option value=\zz\ SELECTEDSelect $title/option; while ($line = pg_fetch_array($result,$result_countt++,PGSQL_ASSOC)) { foreach ($line as $col_value) { print (OPTION VALUE=\.$col_value.\); print $col_value; print (/OPTION); } } print /select; print input type=hidden name = wherestring value=\$wherestring\; print input type=hidden name = othertable value=$othertable; print input type=\submit\ value=\Submit\; print /form; pg_free_result($result); } ? -- G System, The Evolving GUniverse - http://www.g-system.at -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php _ Take advantage of powerful junk e-mail filters built on patented Microsoft® SmartScreen Technology. http://join.msn.com/?pgmarket=en-capage=byoa/premxAPID=1994DI=1034SU=http://hotmail.com/encaHL=Market_MSNIS_Taglines Start enjoying all the benefits of MSN® Premium right now and get the first two months FREE*. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] mysql to postgres migration blues...
Its because the function cannot access your connection object... Try passing it to the function.. function makelistboxentries($link, $title, $mytable, $mycolumn, $othertable, $wherestring) On Thu, 23 Sep 2004 19:44:51 +0200, Antoine [EMAIL PROTECTED] wrote: Hi, I am trying to get skilled up on postgres and decided to port a little movie database I wrote for mysql with php to access it. I used an auto converter for the bulk and then tried to tweak. The following code does not work but the error message it gives me is strange. It tells me that the connection string used on line 82 (where it calls pg_query in makelistboxentries) is invalid... but the same string/connection works just great in another script... any pointers appreciated. Cheers Antoine ?php /* Connect to database */ $link = pg_connect(dbname=movies host=localhost user=anton password=password) or die(Could not connect : . pg_result_error($link)); print TII div id=mybody Search by: BR TABLE border=1 cellpadding=10 cellspacing=10TR TD align=center ID: form name=input action=searchout.php method=post input type=text name=mychoice input type=hidden name = wherestring value= t1.ID = input type=hidden name = othertable value=movies input type=submit value=Submit /form /TD TD align=center Name: form name=input action=searchname.php method=post input type=text name=mychoice input type=submit value=Submit /form /TD/TR /TABLEBR TABLE border=1 cellpadding=10 cellspacing=10TR TII; makelistboxentries(Audio Language, lang, lang, audio , t2.movie = t1.ID and t2.lang = ); makelistboxentries(Subtitle Language, lang, lang, subtitles , t2.movie = t1.ID and t2.lang = ); makelistboxentries(Genre, Genre, Genre, moviegenre , t2.movie = t1.ID and t2.genre = ); print TINI /TD /TR/TABLE brbr PShow All:/P form name=input action=allout.php method=post input type=submit value=Submit /form /div div id=mymenu PA href=index.phpH3Back to main page/H3/A/P PA href=movie.phpAdd a movie/A/P Pa href=audio.phpAdd a movie's audio languages/a/P Pa href=subtitles.phpAdd a movie's subtitle languages/a/P Pa href=searchin.phpSearch the movies/a/P /div TINI; /* Close connection */ pg_close($link); function makelistboxentries($title, $mytable, $mycolumn, $othertable, $wherestring) { print TD align=\center\; print $title:; /* Perform SQL query */ $query = SELECT $mycolumn FROM $mytable; $result = pg_query($link,$query) or die(Query failed : . pg_result_error($link)); print form name=\input\ action=\searchout.php\ method=\post\; print SELECT NAME=\mychoice\; print option value=\zz\ SELECTEDSelect $title/option; while ($line = pg_fetch_array($result,$result_countt++,PGSQL_ASSOC)) { foreach ($line as $col_value) { print (OPTION VALUE=\.$col_value.\); print $col_value; print (/OPTION); } } print /select; print input type=hidden name = wherestring value=\$wherestring\; print input type=hidden name = othertable value=$othertable; print input type=\submit\ value=\Submit\; print /form; pg_free_result($result); } ? -- G System, The Evolving GUniverse - http://www.g-system.at -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] mysql to postgres migration blues...
define the connection object as a global var in ur function function ( params) { global $ur_connection_obj; ... ... } On Thu, 23 Sep 2004 14:56:10 -0300, Eduardo Sampaio [EMAIL PROTECTED] wrote: Its because the function cannot access your connection object... Try passing it to the function.. function makelistboxentries($link, $title, $mytable, $mycolumn, $othertable, $wherestring) On Thu, 23 Sep 2004 19:44:51 +0200, Antoine [EMAIL PROTECTED] wrote: Hi, I am trying to get skilled up on postgres and decided to port a little movie database I wrote for mysql with php to access it. I used an auto converter for the bulk and then tried to tweak. The following code does not work but the error message it gives me is strange. It tells me that the connection string used on line 82 (where it calls pg_query in makelistboxentries) is invalid... but the same string/connection works just great in another script... any pointers appreciated. Cheers Antoine ?php /* Connect to database */ $link = pg_connect(dbname=movies host=localhost user=anton password=password) or die(Could not connect : . pg_result_error($link)); print TII div id=mybody Search by: BR TABLE border=1 cellpadding=10 cellspacing=10TR TD align=center ID: form name=input action=searchout.php method=post input type=text name=mychoice input type=hidden name = wherestring value= t1.ID = input type=hidden name = othertable value=movies input type=submit value=Submit /form /TD TD align=center Name: form name=input action=searchname.php method=post input type=text name=mychoice input type=submit value=Submit /form /TD/TR /TABLEBR TABLE border=1 cellpadding=10 cellspacing=10TR TII; makelistboxentries(Audio Language, lang, lang, audio , t2.movie = t1.ID and t2.lang = ); makelistboxentries(Subtitle Language, lang, lang, subtitles , t2.movie = t1.ID and t2.lang = ); makelistboxentries(Genre, Genre, Genre, moviegenre , t2.movie = t1.ID and t2.genre = ); print TINI /TD /TR/TABLE brbr PShow All:/P form name=input action=allout.php method=post input type=submit value=Submit /form /div div id=mymenu PA href=index.phpH3Back to main page/H3/A/P PA href=movie.phpAdd a movie/A/P Pa href=audio.phpAdd a movie's audio languages/a/P Pa href=subtitles.phpAdd a movie's subtitle languages/a/P Pa href=searchin.phpSearch the movies/a/P /div TINI; /* Close connection */ pg_close($link); function makelistboxentries($title, $mytable, $mycolumn, $othertable, $wherestring) { print TD align=\center\; print $title:; /* Perform SQL query */ $query = SELECT $mycolumn FROM $mytable; $result = pg_query($link,$query) or die(Query failed : . pg_result_error($link)); print form name=\input\ action=\searchout.php\ method=\post\; print SELECT NAME=\mychoice\; print option value=\zz\ SELECTEDSelect $title/option; while ($line = pg_fetch_array($result,$result_countt++,PGSQL_ASSOC)) { foreach ($line as $col_value) { print (OPTION VALUE=\.$col_value.\); print $col_value; print (/OPTION); } } print /select; print input type=hidden name = wherestring value=\$wherestring\; print input type=hidden name = othertable value=$othertable; print input type=\submit\ value=\Submit\; print /form; pg_free_result($result); } ? -- G System, The Evolving GUniverse - http://www.g-system.at -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- M.Saleh.E.G 97150-4779817 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] mysql to postgres migration blues...
On Thu, 23 Sep 2004 22:27:38 +0400, M Saleh EG [EMAIL PROTECTED] wrote: define the connection object as a global var in ur function function ( params) { global $ur_connection_obj; ... ... Damn you guys are quick! I like this list... declaring it as global didn't seem to work - global $link; /* Connect to database */ $link = pg_connect(dbname=movies host=localhost user=anton password=password) or die(Could not connect : . pg_result_error($link)); still didn't get it but passing it to the function did. I'll get there, but I pretty much copied and pasted all the php up until now so I have a little way to go... Cheers Antoine -- G System, The Evolving GUniverse - http://www.g-system.at -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] mysql to postgres migration blues...
On Thu, 23 Sep 2004 20:51:52 +0200, Antoine [EMAIL PROTECTED] wrote: declaring it as global didn't seem to work - global $link; /* Connect to database */ $link = pg_connect(dbname=movies host=localhost user=anton password=password) The global keyword works a little bit differently in PHP. You need to inform your function that your variable is global, as opposed to declaring it as global outside the function. Like: $link = database connection function processData () { global $link; ... } -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] mysql to postgres migration blues...
On Thu, 23 Sep 2004 12:23:32 -0700, Andrew Kreps [EMAIL PROTECTED] wrote: On Thu, 23 Sep 2004 20:51:52 +0200, Antoine [EMAIL PROTECTED] wrote: declaring it as global didn't seem to work - global $link; /* Connect to database */ $link = pg_connect(dbname=movies host=localhost user=anton password=password) The global keyword works a little bit differently in PHP. You need to inform your function that your variable is global, as opposed to declaring it as global outside the function. Like: $link = database connection function processData () { global $link; ... Like i said, I'll get there ;-). Cheers! I hope you folks don't mind answering some rather basic questions... I am going to be starting some serious development soon and promise to search the docs first :-). I have just followed up on the suggestion of pear and it looks like a winner. That may mean a change of mailing list but all good for the moment. Cheers Antoine -- G System, The Evolving GUniverse - http://www.g-system.at -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php