查询SELECT * FROM TABLE WHERE id LIKE '%1%
无效,但未选择ID 1.
mysql_connect('localhost', 'root' , '');
mysql_select_db('database');
$sql = ("select * from search WHERE id LIKE '%3%'");
mysql_query($sql);
$my_variable = mysql_query($sql);
$display_data = mysql_fetch_row($my_variable);
while ($list = mysql_fetch_assoc($my_variable)) {
$id = $list['id'];
$title = $list['title'];
$keywords = $list['keywords'];
$img = $list['img'];
$link = $list['link'];
}
答案 0 :(得分:2)
如果您要查看SELECT id 1,请使用= not LIKE。使用LIKE的方式将匹配每个id为1的id,并且不保证按顺序获得第一个id,所以改为使用:
SELECT * FROM search WHERE id = 1
答案 1 :(得分:1)
根据mysql_fetch_row
的{{3}}
返回与获取的行对应的数值数组,并将内部数据指针向前移动。
这意味着第一个结果不会出现在下一个(mysql_fetch_assoc
)程序中。您可以尝试删除$display_data = mysql_fetch_row($my_variable);
行,只使用while($list = mysql_fetch_assoc($my_variable)) { ... }
程序。看看是否能解决您的问题。
答案 2 :(得分:1)
$sql = ("select * from search WHERE id ='3'");
id是整数使用=
而不是like
。等于更准确。
答案 3 :(得分:0)
首先在您的程序中回显您的查询 - >
echo $sql;die;
复制该查询并在phpmyadmin
上运行
然后检查您的column id
是否为int type
,如果是,则表示不会给您结果。你必须在这里使用where clause
。但如果column id
属于type varchar
,那么肯定会给你结果。
尝试使用phpmyadmin 中数据库 - >表下的搜索标签,并将条件放在那里。
你肯定会在那里得到答案。