如何SELECT字段FROM表WHERE id = variable?

时间:2015-03-16 17:27:04

标签: php variables

我有一个登录用户的变量($steamid),我需要用它来选择和回显数据库中的特定字段。我使用以下代码,但它工作不正常。所有数据库信息都是正确的,表,列和变量没有拼写错误。不确定我做错了什么。

<?php
$con=mysqli_connect("private","private","private","private");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql = "SELECT `bananas` FROM `es_player` WHERE `steamid` = '$steamID'";

if ($result=mysqli_query($con,$sql))
  {
  // Get field information for all fields
  while ($fieldinfo=mysqli_fetch_field($result))
    {
    printf("bananas: %n",$fieldinfo->bananas);
    }
  // Free result set
  mysqli_free_result($result);
}

mysqli_close($con);
?>

没有显示错误,它只是返回&#34;香蕉:&#34;没有任何事情。我觉得我没有正确理解,有谁知道我可能做错了什么?这是我的数据库表的屏幕截图,让您知道它的外观http://puu.sh/gCY3d/983b738458.png

1 个答案:

答案 0 :(得分:0)

试试这个:

$query = Mysqli_Query($con, "SELECT * FROM `es_player` WHERE `steamid`='$steamID'") or die(mysql_error());

  if( ! mysqli_num_rows($query) ) 
  {
  echo 'No results found.';
  }
  else
  {   
   $bananas_array = mysqli_fetch_assoc($query);
   $bananas = $bananas_array['bananas'];
   echo 'Number of bananas: '. $bananas;      
  }

如果这不起作用,则STEAM_ID格式存在问题。您可以尝试将ID转换为JUST一个数字,然后再将STEAM_x:x:添加到它。