webForumDet fria alternativet
Logga in / Bli medlem

mysql_fetch_array(): (Fel medelande)

PHP

10 svar · 559 visningar · startad av jockelw

Medlem sedan sep. 200254 inlägg
Trådstart#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

Medlem sedan juni 200032 967 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

Medlem 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

Medlem sedan juni 20006 031 inlägg
#4

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

Medlem sedan sep. 200254 inlägg
#5

har krypterat den med funktionen PASSWORD i sql.

Medlem 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!

Medlem sedan juni 200032 967 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

Medlem sedan sep. 200254 inlägg
#8

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

Medlem 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!

Medlem sedan sep. 200254 inlägg
#10

Nöjd??? :)

Medlem sedan mars 20025 907 inlägg
#11

Mycket :)

268 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)