我是新手程序员,我想知道为什么我的代码无法从我的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 ,我只会"数组"
答案 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.
}