Thread: parsing html in pgsql using php
Subject ... how to? here is an example: <?php $tmp = " <table width='175' cellSpacing='0' cellPadding='0' border='0' align='right'><tr> <td align='center' vAlign='middle' style=\"border: 1px solid black; background-color: #f0f0f0;\"> Sample text in table. </td> </tr></table> "; pg_connect("host=localhost dbname=daatabase user=web_user password=password"); pg_query("insert into site_common values ('01','00','".$tmp."')"); ?> Here is an error: Warning: pg_query() query failed: ERROR: parser: parse error at or near "175" in /w/devel/test/dbinsert.php on line 80 Any ideas? / Clio
You need to escape your apostrophes. Your query statment uses apostrophes and you have them in the string that your inserting into the db. I believe you can use addslashes() and stripslashes() to help you with this. http://www.php.net/manual/en/function.addslashes.php Dave Clio wrote: >Subject ... how to? > >here is an example: > ><?php > > >$tmp = " > ><table width='175' cellSpacing='0' cellPadding='0' border='0' align='right'><tr> > <td align='center' vAlign='middle' style=\"border: 1px solid black; background-color: #f0f0f0;\"> > Sample text in table. > </td> ></tr></table> > >"; > >pg_connect("host=localhost dbname=daatabase user=web_user password=password"); > >pg_query("insert into site_common values ('01','00','".$tmp."')"); > > >?> > > >Here is an error: > > >Warning: pg_query() query failed: ERROR: parser: parse error at or near "175" in /w/devel/test/dbinsert.php on line 80 > > >Any ideas? > > >/ Clio > > >---------------------------(end of broadcast)--------------------------- >TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > > >
A good way to debug these is to put the complete query into a variable called $strSQL and then echo it to the browser. Then, examine the string to see whether the quotes pair up and that characters are escaped properly. $strSQL = "insert into site_common values ('01','00','".$tmp."')"; echo $strSQL; exit; //remove this line when you think it will work pg_query($strSQL); Roj Clio wrote: >Subject ... how to? > >here is an example: > ><?php > > >$tmp = " > ><table width='175' cellSpacing='0' cellPadding='0' border='0' align='right'><tr> > <td align='center' vAlign='middle' style=\"border: 1px solid black; background-color: #f0f0f0;\"> > Sample text in table. > </td> ></tr></table> > >"; > >pg_connect("host=localhost dbname=daatabase user=web_user password=password"); > >pg_query("insert into site_common values ('01','00','".$tmp."')"); > > >?> > > >Here is an error: > > >Warning: pg_query() query failed: ERROR: parser: parse error at or near "175" in /w/devel/test/dbinsert.php on line 80 > > >Any ideas? > > >/ Clio > > >---------------------------(end of broadcast)--------------------------- >TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > >
Another way to do this is with a "here doc" block: $sample = <<< HERE quote marks in here don't need to be escaped. it will look just like plain html code. also good for queries HERE; print ("$sample"); Tom On 22 Aug 2002 at 9:06, David C. Brown wrote: > You need to escape your apostrophes. Your query statment uses > apostrophes and you have them in the string that your inserting into the db. > > I believe you can use addslashes() and stripslashes() to help you with this. > > http://www.php.net/manual/en/function.addslashes.php > > Dave > > Clio wrote: > > >Subject ... how to? > > > >here is an example: > > > ><?php > > > > > >$tmp = " > > > ><table width='175' cellSpacing='0' cellPadding='0' border='0' > >align='right'><tr> > > <td align='center' vAlign='middle' style=\"border: 1px solid black; > > background-color: #f0f0f0;\"> > > Sample text in table. > > </td> > ></tr></table> > > > >"; > > > >pg_connect("host=localhost dbname=daatabase user=web_user password=password"); > > > >pg_query("insert into site_common values ('01','00','".$tmp."')"); > > > > > >?> > > > > > >Here is an error: > > > > > >Warning: pg_query() query failed: ERROR: parser: parse error at or near "175" > >in /w/devel/test/dbinsert.php on line 80 > > > > > >Any ideas? > > > > > >/ Clio > > > > > >---------------------------(end of broadcast)--------------------------- > >TIP 2: you can get off all lists at once with the unregister command > > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > > > > > > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html >