Posted by kennthompson on 02/27/07 18:17
On Feb 27, 10:27 am, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> kennthomp...@gmail.com wrote:
> > Trouble passing mysql table name in php. If I use an existing table
> > name already defined everything works fine as the following script
> > illustrates.
>
> > <?php
> > function fms_get_info()
> > {
> > $result = mysql_query("select * from $tableInfo") ;
> > for ($i = 0; $i < mysql_num_rows($result); $i++)
> > {
> > /* do something */
> > }
>
> > }
>
> > /* Main */
> > fms_get_info();
>
> > But it won't work if I pass a variable table name to the function.
>
> > <?php
> > function fms_get_info($tableName)
> > {
> > $result = mysql_query("select * from $tableName") ;
> > for ($i = 0; $i < mysql_num_rows($result); $i++)
> > {
> > /* do something */
> > }
>
> > }
>
> > /* Main */
> > fms_get_info($tableInfo);
>
> > I need to use the same function to gather information from multiple
> > tables at will without creating a different function for each
> > possible
> > mysql database table by name. I thought this would be easy, but I
> > have failed at several tries.
>
> This should work fine. What do you get back as an error message? How
> are you calling the function?
>
> What happens if you do the following:
>
> function fms_get_info($tableName)
> {
> $sql = "select * from $tableName";
> echo $sql . "<br>\n";
> $result = mysql_query($sql) ;
> for ($i = 0; $i < mysql_num_rows($result); $i++)
> {
> /* do something */
> }
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstuck...@attglobal.net
> ==================- Hide quoted text -
>
> - Show quoted text -
No. That's exactly the way I was trying to do it. MySQL doesn't accept
a table name passed into a function this way. There must be some
hidden mysql code that I'm unaware of.
Navigation:
[Reply to this message]
|