J'essaie de sélectionner une valeur dans une base de données et de l'afficher à l'utilisateur à l'aide de SELECT. Cependant, je continue à avoir cette erreur:
Notice: Array to string conversion in (pathname) on line 36.
Je pensais que la @mysql_fetch_assoc();
pourrait résoudre ce problème, mais je reçois toujours l'avis. C'est la partie du code où je reçois l'erreur:
{
$loggedin = 1;
$get = @mysql_query("SELECT money FROM players WHERE username =
'$_SESSION[username]'");
$money = @mysql_fetch_assoc($get);
echo '<p id= "status">'.$_SESSION['username'].'<br>
Money: '.$money.'.
</p>';
}
Qu'est-ce que je fais mal? Je suis assez nouveau en PHP.
Le problème est que $ money est un tableau et que vous le traitez comme une chaîne ou une variable pouvant facilement être convertie en chaîne. Vous devriez dire quelque chose comme:
'.... Money:'.$money['money']
Encore plus simple:
$get = @mysql_query("SELECT money FROM players WHERE username = '" . $_SESSION['username'] . "'");
notez les guillemets autour de nom d'utilisateur dans la référence $ _ SESSION.
Stocker la valeur de $ _SESSION ['nom d'utilisateur'] dans une variable telle que $ nom d'utilisateur
$username=$_SESSION['username'];
$get = @mysql_query("SELECT money FROM players WHERE username =
'$username'");
ça devrait marcher!
mysql_fetch_assoc retourne un tableau afin que vous ne puissiez pas faire écho à un tableau, vous devez utiliser print_r (), sinon la chaîne de caractères particulière $ money ['money'].
Une des raisons pour lesquelles vous obtiendrez cet avis: Conversion de tableau en chaîne dans… est que vous combinez un groupe de tableaux. Exemple, triant plusieurs prénoms et noms.
Pour faire correctement écho aux éléments d'un tableau, vous pouvez utiliser la fonction implode(separator, array)
Exemple:
implode(' ', $var)
résultat:
first name[1], last name[1]
first name[2], last name[2]
Plus d'exemples de W3C .
Vous ne pouvez pas faire écho à un tableau. Doit utiliser print_r à la place.
<?php
$result = $conn->query("Select * from tbl");
$row = $result->fetch_assoc();
print_r ($row);
?>