SQL从特定行中选择特定列

时间:2011-11-04 01:26:39

标签: php mysql sql database select

我的SQL数据库中有一个表,该表有两个字段,一个用于id,另一个用于整数。我想获取整数字段中的值,其中id等于我传入的特定数字.id字段称为“id”,整数字段称为“loglevel”。这是我得到的代码,但它没有给我想要的结果。

$result = mysql_query("SELECT loglevel FROM Logs WHERE id='$number'");
echo "Pulled from SQL: " . $result;

此输出为

Pulled from SQL: Resource id #2

如果SQL表中的值是2?

,你可以帮助我,使输出为“2”

谢谢,

2 个答案:

答案 0 :(得分:4)

您需要使用mysql_fetch_assoc()mysql_fetch_array()(或其他)获取结果。 $result返回的mysql_query()是结果资源,而不是实际的行集:

$result = mysql_query("SELECT loglevel FROM Logs WHERE id='$number'");

// If the query completed without errors, fetch a result
if ($result) {
  $row = mysql_fetch_assoc($result);
  echo $row['loglevel'];
}
// Otherwise display the error
else echo "An error occurred: " . mysql_error();

当您期望返回多行而不是一行时,在while循环内获取它们。 mysql_fetch_assoc() documentation 中有很多例子。

答案 1 :(得分:0)

$ result = mysql_query(“SELECT loglevel FROM Logs WHERE id ='$ number'”);

这里$ result是一个记录集/ mysql资源而不是php数组。你需要使用mysql_fetch_assoc()或mysql_fetch_array()来访问$ result。

if ($result) {
  while( $row = mysql_fetch_assoc($result)){
    $my_assoc[] = $row;
  }
}
var_dump($my_assoc);

这将打印查询中的所有数据。