2015-10-07 103 views
-3

在执行以下MySQL查询以获取国家/地区的状态时,我注意到它在URL中使用时最后会生成空格。MySQL查询结尾处带有空格

$sql="SELECT DISTINCT bankName, state FROM table"; 

我检查了csv文件,发现状态栏中任何状态结束时都没有空白。我仍然将trim函数应用于csv文件,但没有任何好处。

我该如何阻止这个空白?

下面是代码: -

<?php 
$remove[] = " "; 
?> 

<?php  
$con = mysqli_connect('localhost','dbuser','password','dbname'); 
if (!$con) { 
die('Could not connect: ' . mysqli_error($con)); 
}   
echo "<?xml version='1.0' encoding='UTF-8'?>\n";    
echo "<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>\n";    
$sql="SELECT DISTINCT bankName, state FROM table"; 
$result = mysqli_query($con,$sql);   
if ($result->num_rows > 0) {      
// output data of each row 
while($row = $result->fetch_assoc()) {            
echo "<url>\n"; 
echo "<loc>http://www.domainname.com/".str_replace($remove, "-", $row['bankName'])."/".str_replace($remove, "-", $row['state'])."/</loc>\n";      
echo "<priority>0.8</priority>\n"; 
echo "</url>\n"; 
} 
echo "</urlset>\n"; 
} else { 
echo "<p>No result Found</p>"; 
} 
mysqli_close($con); 
?> 
+1

请张贴的示例代码和期望答案。 –

+0

在这个问题中,csv文件与MySQL有什么关系?更多细节请... – foxbeefly

+0

<?php \t $ sql =“SELECT DISTINCT bankName,state FROM table”; $ result = mysqli_query($ con,$ sql); \t \t \t 如果($ result-> NUM_ROWS> 0){\t \t \t \t \t 每一行 而//输出数据($行= $ result-> FETCH_ASSOC()){\t \t \t \t \t \t \t \t \t \t \t \t echo“ \ n”;; echo“ http://domain.com/".str_replace($remove,” - “,$ row ['bankName'])。”/“。str_replace($ remove,” - “,$ row ['state '])。“/ \ n”; \t \t \t \t \t echo“ 0.8 \ n”;; echo“ \ n”; } echo“ \ n”; \t } else { echo“

No results found

”; } mysqli_close($ con); ?> –

回答

2

无需访问您的CSV数据,或理解你是怎么得到的CSV到数据库中,我能够提供的唯一的解决办法是尝试删除“空间”在输出代码:

$stateName = trim($row['state']); 

这应该移除所有的空格 - 见http://php.net/manual/en/function.trim.php

+0

你真是太棒了@foxbeefly。它解决了我的问题。 –