Возникли проблемы при разборе результата MySQL в php - PullRequest
1 голос
/ 24 января 2010

Я пытаюсь получить какие-то результаты из базы данных, но, похоже, сегодня у меня сумасшедший мозг.

$castquery = "SELECT * FROM cast " .
    "WHERE player_id = '" . $userid ."' ";
$castresult = mysql_query($castquery) or die(mysql_error());
$castrow = mysql_fetch_array($castresult);

...

foreach($castrow['cast_id'] as $caster) 
{
    echo "<p>";
    if ($caster['avatar_url']!='') echo "<img src=\"".$caster['avatar_url']."\" alt=\"".$caster['name']."\">";
    echo "<a href=\"?edit=".$caster['cast_id']."\">".$caster['name']."</a></p>";
}

Конечно, я упускаю из виду нечто очевидное.

Ответы [ 2 ]

4 голосов
/ 24 января 2010

Не уверен, какова ваша структура БД, но $castrow['cast_id'] - это одно поле, а не массив. Что вы, вероятно, имеете в виду:

while ( $castrow = mysql_fetch_array($castresult) ) {
    // use $castrow array here
}

вместо вашего foreach

1 голос
/ 24 января 2010

Прежде всего, ваш код будет получать только одну строку, как сейчас.

$castrow = mysql_fetch_array($castresult);

foreach($castrow['cast_id'] as $caster) 
{

Должно быть

while ($castrow = mysql_fetch_array($castresult)) {

  $caster = $castrow['cast_id'];
  ....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...