我看起來大部分在Stackoverflow上添加多個WHERE實例,但它們都不起作用。PHP:MySQL選擇與多個地方
我的選擇查詢:
$result = mysql_query("SELECT * FROM $tableName WHERE user = $user AND column = 1"); //query
我試圖和其他一些方法,但我不知道爲什麼它不會得到列。如果我拿出用戶專欄它的作品,但我希望它也限制在列。以及
任何幫助將不勝感激!
我看起來大部分在Stackoverflow上添加多個WHERE實例,但它們都不起作用。PHP:MySQL選擇與多個地方
我的選擇查詢:
$result = mysql_query("SELECT * FROM $tableName WHERE user = $user AND column = 1"); //query
我試圖和其他一些方法,但我不知道爲什麼它不會得到列。如果我拿出用戶專欄它的作品,但我希望它也限制在列。以及
任何幫助將不勝感激!
column
是保留字mysql
。你必須使用`
周圍那種列名,並使用字符串周圍單'
引號數據'$user'
SELECT * FROM $tableName WHERE user = '$user' AND `column` = 1
是的,這裏是正確的答案,你也可以在用戶周圍添加單引號?大聲笑你已經做到了,+1 –
謝謝! :)我做了兩個表字段,所以'user' ='$ user'和'column' ='1'。它的工作原理,感謝您的提示和解釋! – designtocode
您需要將用戶名用單引號&包裹,如Yogesh列中提到的那樣,列是MySQL中的保留關鍵字。試試這個:
user = '$user' AND `column` = 1
所以整個語句變成:
$result = mysql_query("SELECT * FROM $tableName WHERE user = '$user' AND `column` = 1");
此外,你應該使用庫MySQLi或PDO預處理語句來代替。
重寫查詢。使用下面的代碼:
$result = mysql_query("SELECT * FROM `".$tableName."` WHERE user = '".$user."' AND `column` = 1");
在這裏,我想念的是什麼是列中的查詢是它的列的名稱? 你需要在`直到標記中給出單個配額和表名中的值。
嘗試這一個:
$sql = 'SELECT * FROM $tableName WHERE user = "'.$user.'" AND `column` = 1';
$結果= mysql_query( 「SELECT * FROM $ TABLENAME WHERE用戶= '$ USER' 和列= 1」); - 這應該有效,但我不建議你使用它。這不是一個安全的選擇。看看準備好的聲明:http://php.net/manual/en/pdo.prepared-statements.php –
**和**是你所需要的。 – tomexsans
'$ tableName'和'$ user'的值是多少? –