使用数组从数据库中提取数据在MYSQL/PHP中

问题描述:

我需要从数据库中提取数据,它等于数组中的数值。使用数组从数据库中提取数据在MYSQL/PHP中

For eg:$totv=$Post['Totv'] //where Totv is an array. 

    Sql Query:SELECT Wo_Qty 
    FROM Work_order 
    WHERE B_Name IN (".implode(',', $totv).")"; 
     $result1=mysql_query($sql1,$con); 
    while($row1=mysql_fetch_array($result1)) 
    { 

    echo $row1['Wo_Qty']; 
    } 


      Table:Work_order 
    Input: B_Name=1,2,3,4 
      Wo_Qty=50,25,22,55   
      totv=1 
    output:50. 

我试过但我面临一个错误。

Error:Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\AGP\forms\inv_rep.php on line 63 

请帮助我。感谢提前。

+1

请勿使用mysql_。他们在php7中被删除。 – Drudge

+0

分享实际的代码 - 这是一个混乱 – RamRaider

+0

如果这是你的实际代码,怪不得它没有工作。请做谷歌如何做与DB的数据库交互。 – Epodax

这个问题很不明确,格式不正确,但它出现的错误在于在sql中使用(或者说,微妙)引号 - 假设整个sql语句用双引号引起来,并且从implode在单引号内,那么你需要做类似于以下的事情,尽管mysql_*方法已被弃用,不应再使用。

if(!empty($totv)){ 
    $sql="SELECT `Wo_Qty` 
      FROM `Work_order` 
      WHERE `B_Name` IN ('" . implode("','", $totv)."');"; 

    $res=mysql_query($sql,$con); 
    while($rs=mysql_fetch_array($res)) echo $rs['Wo_Qty']; 
} 
+0

我知道每个用户都要决定他们是否想回答问题,但我强烈建议您不要回答这些问题,因为这些问题无关紧要,只会让人们相信他们可以提出任何问题他们希望不管SO的规则集。 - 另外,只有代码答案对任何人来说都不是很有用,但为OP提供了一个快速解决方案。 – Epodax

+0

您在说@Epodax时可能是正确的 - 但是当您看它时,您可以看到错误。也许我应该补充一些解释。 – RamRaider