2015-10-07 101 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。它解決了我的問題。 –