簡體   English   中英

MySQL查詢返回每個用戶的行

[英]MySQL query returning rows from every user

我有一個簡單的搜索腳本來搜索數據庫,該數據庫應該返回與屬於該用戶的搜索查詢匹配的所有數據行,但是我的查詢(下面)是從每個用戶返回的行。 知道如何解決這個問題嗎?

SELECT * FROM tablename 
WHERE title LIKE '%" . $q . "%' 
OR text LIKE '%" . $q . "%' 
AND user='$user'

附注 :這是在PHP中執行的,因此$q是保存查詢的變量。

你試過這個嗎?

"SELECT * FROM tablename WHERE (title LIKE '%".$q."%' OR text LIKE '%".$q."%') AND user='$user'"

在嘗試SQL查詢之前,請清除任何空格的$ user變量

嘗試這個:

<?php 
...
echo "SELECT * FROM tablename 
WHERE title LIKE '%" . $q . "%' 
OR text LIKE '%" . $q . "%' 
AND user='$user'";

看看輸出是什么樣的。

除此之外,你可以僥幸逃脫

WHERE title LIKE '%$q%'

(即,不必連接查詢字符串)。 這將使您的代碼更清潔並減少錯誤(從錯過句點/引用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM