排序mysql控制台输出和mysql_fetch_array之间的差异

时间:2016-11-03 14:45:40

标签: php mysql

我使用mychem cartridge建立了一个mysql化学数据库。我使用Peter Ertl的JSME javascript模块绘制分子并喂养分子“微笑”。用于构建mysql查询的字符串。

当我在mysql控制台中输入我的请求时,我会以正确的顺序得到结果,并按照tan列进行排序。

当我使用以下命令通过php将查询发送到mysql数据库时:

$db = mysql_connect('localhost', '****', '****') or die ('Unable to connect');
mysql_select_db('mychem', $db)  or die(mysql_error($db));
$query = "SET @fp = (SELECT FINGERPRINT2(SMILES_TO_MOLECULE('".$_POST['smiles']."')))";
$results = mysql_query($query, $db) or die(mysql_error($db));

$query = "SELECT No, Name from (SELECT No, Name, tan from (SELECT No, Name, TANIMOTO(@fp, fin) as tan FROM (SELECT compounds.name as No, pdt.fullname as Name, bin_structures.fp2 as fin  From pdt,compounds,bin_structures WHERE pdt.name=compounds.name AND compounds.id=bin_structures.compound_id AND MATCH_SUBSTRUCT('".$_POST['smiles']."',obserialized)) x order by tan DESC) y)z";

$results = mysql_query($query, $db) or die(mysql_error($db));

用于填充表格的PHP代码:

while ($row = mysql_fetch_assoc($results)) {
echo "<tr>";
echo '<td><a href="info.php?name='.$row["No"].'">'.$row["No"].'</a></td><td>'.$row["Name"]./*'</td><td>'.$tan.*/'</td><td><img src ="structures/'.$row["No"].'.png" height="150"></td>';
echo "</tr>";
}
mysql_free_result($results); ?>

然后我得到在名称列上排序的结果。

你知道我做错了什么吗?

我添加了一个echo语句来打印出我的查询。我在mysql控制台中使用了该查询,但我得到了正确顺序的结果。

感谢您的投入

0 个答案:

没有答案