J'ai un script qui est censé collecter des données d'un champ "UserID" dans ma table sql, soumettre toutes les données dans un tableau, puis comparer une variable à ce qui est dans le tableau. Si la valeur de la variable est déjà dans le tableau, dites à l'utilisateur que cette valeur est invalide.Formatage de la sortie du tableau à l'aide de la fonction foreach
$sql = "SELECT *" //User info
. " FROM Users" ;
$result = mysql_query($sql);
//insert where line for assessorid
$users = array();
while(($user = mysql_fetch_assoc($result))) {
$users[] = $user;
}
foreach($users as $user){
$user['UserID'];
}
J'ai besoin de la sortie des utilisateurs $ équivalent à array ('user1', 'utilisateur2', 'user3'); Ce qui se passe, c'est que les données proviennent d'un formulaire en $ user_name. Je veux utiliser dans une déclaration comme suit:
if(in_array($user_name,$users)){
echo "username available"
}
else{
echo "not available"}
J'ai essayé d'utiliser la fonction d'extraction, mais tout simplement créé un grand désordre. Je ne sais pas ce qui est incorrect à propos de ce que je fais, à moins que le format de $ users en tant que tableau ne puisse être analysé dans la fonction in_array() telle qu'elle est actuellement formatée. Tout conseil est fort apprécié. Merci!
Bien sûr, vous ne devriez jamais mettre $ username inaperçu dans votre SQL, sauf si vous êtes impatient de savoir ce que les autres pourraient faire pour votre site avec injection SQL. –
Bien sûr - Je donne ceci simplement comme un exemple de la requête COUNT car l'OP semble ne pas le savoir. Cela ne sera jamais utilisé pour insérer ou valider un identifiant. J'utilise généralement PDO dans tous les accès à la base de données pour aider à la preuve contre cela aussi bien. – DeaconDesperado