webForumDet fria alternativet

mysql_fetch_array(): (Fel medelande)

10 svar · 557 visningar · startad av jockelw

jockelwMedlem sedan sep. 200254 inlägg
#1

Någon kanske kan hjälpa mig med mitt problem.

Bifogar först koden:

<?
if ($mail !="")
{
	$query = mysql_query("SELECT * FROM user WHERE mail = $mail");
	if (mysql_affected_rows() == 0)
	{
		echo "<div class=\"font_1\">Ingen användare har registrerats med den e-post adressen.</div>";
	}
	else
	{
		while ($r = mysql_fetch_array($query)) 
		{
			$namn = $r["namn"];
			$password = $r["pw"];
			echo "$namn";
			echo "$password";
		}
	}
}
else
{?>
	<table border="0" cellspacing="0" cellpadding="0">
	<form method="post" action="<?=$php_self?>">
	<tr>
		<td><div class="font_1">Din e-post adress:</div></td>
		<td><input type="text" name="mail" size="16" class="field"></td>
	</tr>
	<tr>
		<td colspan="2" align="right"><input type="submit" value="Skicka" class="field"></td>
	</tr>
	</form>
	</table>
<?}?>

Databas kopplingen finns i en fil som sitter som require längst upp. Tog bort den..

Felmedelandet:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/"sidan"/"sidan"/httpd.www/hrp/login/forgot_pass.php on line 11

Det är så konstigt för att fältet mail ligger som 5:e fält i databasen och om jag ändrar så den plocka upp informationen efter UserID = '$id' (det fältet ligger först i databasen) och sätter till en variabel som heter $id=1 så funkar det klockrent. Men inte när ja väljer ett fält som inte ligger först i databasen.

Vad kan problemet vara?

------------------------------------
Joakim Lindström W

@ndersMedlem sedan juni 200032 969 inlägg
#2

Problemet är nog inte fältets placering i tabellen, utan snarare att du måste ha apostrofer runt värden när det handlar om char- / text- / datumfält. Prova:

    $query = mysql_query("SELECT * FROM user WHERE mail = '$mail'");

mvh

jockelwMedlem sedan sep. 200254 inlägg
#3

oj då.. de hade ja helt missat.. Nu funka de.. Ja skrev de till och med i förklaringen här i inlägget.. =) jaja så kan de gå.

Tack så mycke!

Ett sak till när ja hämtar ut fältet PW och sätter den till $password så är den ju krypterad. hur gör ja så att den gör om den till okryterad form?
-----------------------------------
Joakim Lindström W

PeddaMedlem sedan juni 20006 032 inlägg
#4

Har du krypterat den med md5 så går det inte att ändra tillbaks igen.

jockelwMedlem sedan sep. 200254 inlägg
#5

har krypterat den med funktionen PASSWORD i sql.

jockelwMedlem sedan sep. 200254 inlägg
#6

Hur kan man då lösa det med att om man glömt lösenordet, ja tänkte göra så att man skicka ett mail till den adress man angav om den stämmer överens med någon i databasen men då funka ju inte de om man inte kan få fram krypteringen!

@ndersMedlem sedan juni 200032 969 inlägg
#7

Du får helt enkelt skapa ett nytt lösenord och skicka till användaren. När användaren fått det nya lösenordet per e-post kan han gå in och ändra lösenordet själv på webbplatsen.

Mvh

jockelwMedlem sedan sep. 200254 inlägg
#8

m smart.. Så får de bli.. Tackar alla för hjälpen!

PeeerMedlem sedan mars 20025 907 inlägg
#9

Jockelw >

http://www.webforum.nu/misc.php?s=&action=faq&page=2#status skrev:

Hur markerar jag vilket svar som löste mitt problem?

Längst ner till höger i varje inlägg finns en länk där du kan markera att det är just det inlägget som löste ditt problem. Genom att markera på detta sätt underlättar du för andra som har liknande problem att snabbare hitta lösningen.

En tråd som innehåller ett accepterat svar markeras med en symbol som länkas till det accepterade inlägget, var därför noggrann med att markera rätt svar så underlättar du för andra.

Dvs gör om, gör rätt!

jockelwMedlem sedan sep. 200254 inlägg
#10

Nöjd??? :)

PeeerMedlem sedan mars 20025 907 inlägg
#11

Mycket :)

132 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)