我正在尝试查询数据库并只返回两个结果或一个。
这是我的情况。我有一个需要拆分的化合物,然后数组需要通过数据库运行,它应该只匹配数据库中的2或1个东西,即
我有NaHCO3分裂。查询应仅匹配Na和HCO3。在数据库中我有:Na,H,C,O,CO3& HCO3。
我该怎么做? 这是我的滞后代码。
<?php
$compound ="NaHCO3";
$arr1 = str_split($compound);
SELECT name, formula
FROM elements, ions
WHERE name= $arr1['*']
AND formula=$arr1['*']
RETURN 2;
?>
答案 0 :(得分:2)
您可以使用,
作为粘合剂拆分复合并再次内爆,然后使用IN
查询
可能是这样的事情......我不确定..
<?
$compound ="NaHCO3";
$arr1 = str_split($compound);
foreach($arr1 as $k=>$v){
$arr2[]="'".$v."'";
}
$str=implode(",",$arr2);
$sql="SELECT name, formula
FROM elements, ions
WHERE name IN (".$str.")";
echo $sql;
?>
输出
SELECT name, formula FROM elements, ions WHERE name IN ('N','a','H','C','O','3')