mysql LIKE只选择第一个以


mysql LIKE select only the first letter starts with

我想选择以单词s开头的行,但我也得到了其他结果。有red socks blue sweater skirt ....在表中,当我执行下面的选择时,我最终得到了上面的结果。我猜这是因为红色袜子在第二个单词上包含s,所以我怎么能选择skirt呢?

 $pr = 's%' 
$stmt = $db->prepare("SELECT * FROM table where product like ?");
$stmt->bind_param('s', $pr);
$stmt->execute(); 

返回的行
  skirt
  red socks
  blue sweater

我只需要skirt

SELECT * FROM table where product like 's%'

你应该看看这个:

http://www.tutorialspoint.com/mysql/mysql-like-clause.htm

您在$pr = 's'之后缺少;。试一试:

$pr = 's'; 
$stmt = $db->prepare("SELECT * FROM table where product like CONCAT(?, '%')");
$stmt->bind_param('s', $pr);
$stmt->execute();