PHP Mysql查询数据不正确

时间:2015-12-25 10:52:35

标签: php mysql

我是新手程序员,我想知道为什么我的代码无法从我的Mysql DB中获取正确的数据。

mysql_connect('localhost',"root","password");
mysql_select_db("Torch");
$playerbal = mysql_query("SELECT money FROM table WHERE name = '$player'");

如果我使用此代码,那么我将$ playerbal视为资源ID#7

我找到了一些针对此Resouce id#7错误的解决方案。如果我使用 mysql_fetch_array ,我只会"数组"

3 个答案:

答案 0 :(得分:1)

mysql_ *函数现已弃用,不应再使用了。 您的代码无法正常工作,因为您需要使用mysqli_fetch_array()才能使用数据库连接处理程序检索表中的实际数据 尝试使用这样的东西:

//Create DB connection 
$con=mysqli_connect("localhost","root","password","Torch");

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

// Perform queries 
$result = mysqli_query($con, "SELECT money FROM table WHERE name = '$player'") or die(mysqli_error($con)); 

//Retrieve the info(row) from the retrieved recordset and loop through it
while($row = mysqli_fetch_array( $result )) {

  //Retrieve the needed field from the row
  $data=$row['money'];

  //do your stuff here

}

//Close connection
mysqli_close($con);

BTW别忘了清理你的输入。

答案 1 :(得分:0)

mysql_query()语句返回指向结果集的资源指针,而不是数据本身。您需要使用mysql_fetch_array()来检索表中的实际数据。

这里是sol

$row = mysql_fetch_array($playerbal);
$data = $row['money'];
echo $data;

答案 2 :(得分:0)

如果您想获得所有行的资金列,请使用此代码 -

mysql_connect('localhost',"root","password");
mysql_select_db("Torch");
$playerbal = mysql_query("SELECT money FROM table WHERE name = '{$player}'");
while($data = mysql_fetch_array($playerbal)){
      echo $data[0];  //there is only one column so this column is stored into 0 index.

}