我无法从MySQL查询返回的数组中获取值。从mysql_fetch_assoc返回并解析结果
正在返回的结果与这些列的表:
|team_id|name|pos|available|
有结果中的多行。我需要经过每一行,并将name
和pos
抽取到它们各自的变量中。
这里是我的代码:
$query = sprintf("SELECT * FROM `player_user` WHERE team_id = '$teamID[0]'");
$answer = mysql_query($query);
if ($answer === FALSE)
die(mysql_error());
while($row = mysql_fetch_assoc($answer))
{
$pname = $row['name'];
$pos = $row['pos'];
... do something with $pname and $pos
}
不要再使用mysql_函数。他们已被弃用。另外,你的代码有一个可以允许SQL注入的缺陷。并且不要在生产代码中使用'SELECT *'。只是想在人们冷落你之前说出所有的话。 – siride
只需注意,不推荐使用'mysql_query',就像'mysql_fetch_assoc'一样。你应该考虑使用别的东西,比如'MySQLi'或'PDO_MySQL'(http://php.net/manual/en/function.mysql-query.php) – Charles
另外,什么是实际问题? '$ pname'和'$ pos'是空白的吗?你是否收到MySQL错误? – siride