Jump to content


Selecting table name from user input

  • Please log in to reply
1 reply to this topic

#1 jones53084

  • New Members
  • Pip
  • Newbie
  • 5 posts

Posted 16 October 2006 - 12:29 AM

I am creating a PHP page using a MySQL database.  On my page, I have the user register for the first time, and upon registration it automatically creates a table with their username.  I am running into a problem when the user logs into their account.  The user logs in, and it brings them to a page where they can add new information to their table or can search their table.  Since every user is using a separate table, I am running into trouble when I set the table that specific user is using.  I have no problem if it is a static table name, but when the table name comes from a variable set as:
$table = $_REQUEST["user"];
then there is a problem. 

Here is more of my code:
$table = $_REQUEST["user"];

$result = mysql_query("SELECT * FROM $table Where Name='$name'");while($row = mysql_fetch_array($result))

Then later in the code:
$sql = "INSERT INTO $table (name, address, city, state, zip) VALUES ('$name', '$address', '$city', '$state', '$zip')";

This results in an error message:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Test\add.php on line 54
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(name, address, city, state, zip) VALUES ('l', 'j', 'j', 'j', 'j')' at line 1

The $_REQUEST[“user”] comes from a different page.  This is done on the initial logon screen.  After the username and password is submitted correctly it brings you to a page that asks if you wish to search or add a new record.  Then if you go to the add a new record page(haven’t worked with the search page yet!) this is where the code above is located. 

Will using, $table = $_REQUEST["user"];, allow me to access the data from this variable a couple pages deep into my project?  Is this global, so should any page have access to it?  Is there something in MySQL that will not allow a variable such as the one I am calling?

Thanks for any help you can provide!!!!!!!!!!!

#2 marcus

  • Members
  • PipPipPip
  • Advanced Member
  • 1,842 posts
  • LocationRochester, NY

Posted 16 October 2006 - 12:45 AM

you literally made a new table for every single user? or did you make a whole new row?

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users