我有一个像这样的php文件:
<?php define('AREA', 'C');
require ('prepare.php');
require ('init.php');
$con = mysql_connect(Registry::get ( 'config.db_host' ), Registry::get ( 'config.db_user' ), Registry::get ( 'config.db_password' ))or die("Unable to connect to MySQL");
mysql_select_db(Registry::get ( 'config.db_name' ));
if (!empty($_POST['dealer_company']))
{
$dealerCompany = 'Your company'; //$_POST['dealer_company'];
$result = mysql_query("SELECT distinct a.firstname, a.lastname, a.email, a.user_id
FROM cscart_users a,cscart_usergroup_links b, cscart_usergroup_descriptions c
WHERE b.usergroup_id=c.usergroup_id and b.status = 'A' and a.user_id=b.user_id and
c.usergroup='Dealer' and a.company = 'Your company'",$con) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
$d_Infos[]=$row;
}
}
if (!empty($_POST['dealer_company']))
{
$dealerInfos = '<select id="as_dealer_id" name="as_dealer_id" class="input-text">
<option value="">Please select</option>';
foreach ($d_Infos as $k => $v)
{
$dealerInfos .= '<option value="'.$v['user_id'].'">'.$v['firstname'].'</option>';
}
$dealerInfos .= '</select>';
echo $dealerInfos;
}
?>
正如您所看到的,我有一个条件是a.company =&#39;您的公司&#39;在SQL查询中。 但它无法选择具有该值的列。结果是空的。如果&#34;您的公司&#34;中没有空格,例如:&#34;您的公司&#34;,它将起作用。 所以我的问题是: 是否可以选择条件中包含空格的行? 非常感谢你。
答案 0 :(得分:5)
将以下内容与PHP trim()
函数一起使用。
$dealerCompany = trim($_POST['dealer_company']);
以及:
and a.company = '".$dealerCompany."'
这将&#34;削减&#34;左侧和/或右侧的任何空间。
将数据插入数据库时也可以使用相同的功能。如果有人在表单的输入元素的开头和/或结尾处输入一个或多个空格,这将确保在条目的左侧和/或右侧不包含空格。
答案 1 :(得分:1)
你能试试吗,添加了a.company LIKE '%Your company%'
$result = mysql_query("SELECT distinct a.firstname, a.lastname, a.email, a.user_id
FROM cscart_users a,cscart_usergroup_links b, cscart_usergroup_descriptions c
WHERE b.usergroup_id=c.usergroup_id and b.status = 'A' and a.user_id=b.user_id and c.usergroup='Dealer' and a.company LIKE '%Your company%'",$con) or die(mysql_error());
答案 2 :(得分:1)
您可以在数据的第一个和最后一个添加通配符字符串(%)。但它也没有搜索字符串。
所以有两种可能性就是将所有空间都修剪为
where replace(columnname ,' ','') = '''%'+ replace(@value,' ','') + '%'''
select REPLACE ('abadf adsfa',' ','')
或 第二个选项是使用FTS(全文搜索)。
http://blog.sqlauthority.com/2008/09/05/sql-server-creating-full-text-catalog-and-index/