2015-09-20 70 views
1

我需要在MySQL中使用PHP获取特定行的特定列值。 下面是一个例子,看看这个IMAG 我想取mostOnline和它的价值,我已经试过这下面的代码,但不工作获取特定行的列值

<?php 
    $query = $forumdb->prepare("SELECT variable FROM smf_settings WHERE Value = 'mostOnline' LIMIT 1"); 
    $query->execute(); 
    $result = $query->fetch(); 
?> 
<div class="media-body"> 
<p id="greet" align="left">Total Members: <?php echo $result ?> <p> 
</div> 

我敢肯定,我已经做了一些错误,那怎么可能被修正并显示出来呢? 我正在使用PDO。

回答

0

试试这个

$query = $forumdb->prepare("SELECT variable FROM smf_settings WHERE variable = 'mostOnline' LIMIT 1"); 
$result = $query->fetch(); 
print_r($result); 
echo $result['value'];//this should echo 211 
+0

为了获取价值和变量:“选择变量,值......” –

+0

我试过了,但是输出是'Total Members:Array' –

+0

print_r($ result)并告诉我。它会转储您想要的值吗? – aimme

0

您正在试图获取从值的列,其中mostOnline数据。这绝对是不正确的。

"SELECT variable FROM smf_settings WHERE Value = 'mostOnline' LIMIT 1" 

试试这个:

$query = $forumdb->prepare("SELECT variable, value FROM smf_settings WHERE variable = 'mostOnline' LIMIT 1"); 

在HTML:

<p id="greet" align="left">Total Members: <?php echo $result['value'];?> </p> 

注意,在你的代码的不当结束</p>标签了。

输出:

Total Members: 211 
+0

我试过,但输出是总成员:阵列 –

+0

而当我打印这是输出'阵列([变量] => mostOnline [0] => mostOnline [值] => 211 [1] => 211)' –

+0

@DavidDejan是不是所需的结果?如果你只想显示'Total Members:211'的值,你需要回显'$ result ['value'];'而不是'$ result'。 – user5173426

0

你的代码是不完整的,因为你要的结果像这样绑定:

<?php 
    $data = 'mostOnline'; 
    $result = 0; // if database connection or error default is 0 
     if ($query = $forumdb->prepare("SELECT variable FROM smf_settings WHERE Value=? LIMIT 1")) { 
     $query->bind_param('s', $data); 
     $query->execute(); 
     $query->bind_result($variable); 
     $query->store_result(); 
     $selected_rows = $query->num_rows; 

     if ($selected_rows > 0) { 
      while($query->fetch()) { 
      $result = $variable; 
      } 
     } else { 
     $result = 0; 
     } 
     $query->free_result(); 
     $query->close(); 
     } 

    @$forumdb->close(); 
?> 

<div class="media-body"> 
<p id="greet" align="left">Total Members: <?php echo $result; ?> <p> 
</div>