0

I looked mostly everywhere on Stackoverflow for adding multiple WHERE instances but none of them seem to work.

My Select query:

$result = mysql_query("SELECT * FROM $tableName WHERE user = $user AND column = 1");          //query

I tried IN and some other ways but I dont know why it wont get the column. If I take out the user column it works, but I want it to also restrict to the column as well..

Any help will be appreciated!

Ram
  • 140,563
  • 16
  • 160
  • 190
designtocode
  • 2,125
  • 4
  • 19
  • 33

4 Answers4

2

column is reserved word in mysql. You have to use ` around that kind of column_name and use ' single quotes around string data '$user'

SELECT * FROM $tableName WHERE user = '$user' AND `column` = 1
Yogesh Suthar
  • 30,136
  • 18
  • 69
  • 98
  • 1
    Yea, here comes the right answer, also you might like to add single quotes around user? LOL you did it already, +1 – Mr. Alien Jun 19 '13 at 09:56
  • 1
    Thanks! :) I did for both table fields so `user` = '$user' AND `column` = '1'. And it works, thanks for the tip and explanation! – designtocode Jun 19 '13 at 10:21
0

You need to wrap the username in single-quotes & as mentioned by Yogesh column is a reserved keyword in MySQL. Try this:

user = '$user' AND `column` = 1

So the whole statement becomes:

$result = mysql_query("SELECT * FROM $tableName WHERE user = '$user' AND `column` = 1");

Also, you should be using mysqli or PDO with prepared statements instead.

Precastic
  • 3,502
  • 1
  • 21
  • 28
0

Rewrite your query. Use the below code:

$result = mysql_query("SELECT * FROM `".$tableName."` WHERE user = '".$user."' AND `column` = 1");

And here I am missing that what is column in query is it name of column? And you need to give the value in single quota and table name in ` till mark.

Code Lღver
  • 15,434
  • 16
  • 54
  • 74
0

try this one:

$sql = 'SELECT * FROM $tableName WHERE user = "'.$user.'" AND `column` = 1';
skparwal
  • 1,088
  • 6
  • 15