2013-05-02 225 views
0

我有一个MySQL表以下字段和例如 表字段(ABC,DEF,GHI,JKL,MNO) 值的值 (YES,NO,YES,是,否)如何通过mysql中的条件获取多个字段值?

现在的问题是如何选择所有值为“是”的字段?

日Thnx .....

+0

您需要在此创建动态SQL。 (*这是不简单*) – 2013-05-02 07:28:37

+0

因为你使用它,为什么不简单地使用PHP? 'select all - > foreach - >如果this_value = yes,那么返回键(字段名)?' – egig 2013-05-02 07:37:59

+2

是用来保存配置变量和值的表吗?如果是的话,我建议你而不是创建几个字段,只需创建两列“键”和“值”,然后存储在行中的所有配置数据。如果此表适用于配置变量,则更好的做法 – Ergec 2013-05-02 07:38:36

回答

1

您可以在PHP解析列:

$result = $mysqli->query('SELECT * FROM `tablename`'); 

if($result->num_rows){ 
    $row = $result->fetch_assoc(); 
    $buffer = array(); 

    foreach($row as $key => $value){ 
     if($value == 'Yes')$buffer[] = $key; 
    } 

} else { 
    echo 'no rows'; 
} 

$result->free(); 

var_dump($buffer); 
+0

这个语句等同于'... WHERE abc ='YES'和def ='YES'和...'。这个问题不是正确的答案。 – likeitlikeit 2013-05-02 07:48:41

+0

@currupt这将检索记录,如果所有的字段值是“是”,否则这将显示空的结果....这不是我的问题 – user2118352 2013-05-02 07:54:50

+0

@ user2118352,是的..我终于明白你想要什么..定影 – BlitZ 2013-05-02 07:55:57

-3
$sql = "SELECT * FROM tbl.name WHERE value = 'YES'"; 
$result = mysql_query($sql); 

基本上,假设你已经连接到当然是正确的数据库。

+2

基本不是这样的。 OP **希望字段**不是行。 – 2013-05-02 07:30:23

+0

啊,我明白应该读更多。 – segFault 2013-05-02 07:31:38

相关问题