2012-02-23 62 views
-1

我正在试图从我的MySQL数据库中获取一些简单的数据。Mysql/PHP/ADODB - echoing SELECT命令返回列名和其他字符

执行在phpMyAdmin以下命令工作正常:

SELECT coords FROM btDCSimpleMapMarkers WHERE bID = 152 

http://i44.tinypic.com/nywy0g.png

但是当我试图同在PHP(其中竞价动态取代):

echo $db->query("SELECT coords FROM btDCSimpleMapMarkers WHERE bID = {$bID}"); 

我得到这个:

"coords 
" 
"coords 
    "55.8858884,-3.5473646","56.1962574,-4.7451167","58.1476532,-5.2027190","55.9714768,-3.1769557","57.6809791,-4.3305414","55.9409414,-3.5107965","56.2444546,-4.2167933","55.5162577,-4.3799082","57.1417936,-2.0930123","55.9699585,-3.1853694","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","55.6459257,-3.1714130","55.8614198,-3.0658253","55.9433622,-3.0590451","55.9563443,-2.7912248","55.8533561,-4.3041345","55.2410909,-4.8555597","55.8577681,-4.2443929","55.8781498,-4.2898555","57.1426478,-2.1232869","56.8705582,-5.4453786","56.1884131,-4.4899996","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","55.9717258,-3.1931145","55.9491408,-2.7235834","55.8922571,-3.0575724","57.0761811,-2.7793013","56.1888841,-3.0137383","55.6956709,-3.3806546","57.4871048,-4.2490284","56.4125195,-5.4727019","56.0751328,-3.4419449","58.4337677,-3.0813735","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0","0,0" 
" 

我不知道开始时多余的东西来自哪里(尤其是列名)。该字段包含一个长字符串,列类型为VARCHAR(20000)。

任何帮助将不胜感激,因为我被打败了!

+1

什么DB库您使用的是这个'$ db'对象?查询调用通常不会直接返回数据 - 它们会返回一个用于检索单个行的语句句柄。你最有可能回应一个对象,这是礼貌地自动串联查询结果。 – 2012-02-23 18:10:24

回答

0

你似乎试图直接回显mysql结果。

你需要做的是使用mysql_fetch_array()来获取每一行数据,然后回显。

这是我会怎么做:

$sql = "SELECT coords FROM btDCSimpleMapMarkers WHERE bID = 15"; 
$result = mysql_query($sql); 

while($row = mysql_fetch_array($result)){ 
    echo $row['coords'] . "<br />"; 
} 
+0

谢谢,我认为这是问题所在。 – melat0nin 2012-02-23 18:46:53