W web00132 Medlem sedan maj 2001 797 inlägg Frågan 28 mars 2003 14:30 #1 Jag vill helt enkelt kolla om ett visst värde finns i min MySQL-databas. Finns inte värdet ska det skrivas till db:n, annars skickas man vidare. Har gjort så här:
$open2 = mysql_connect("adress", "blabla", "blabla");
$sql = mysql_db_query("db", "SELECT address FROM table");
while ($row = mysql_fetch_array($sql))
{
if ($row['address'] == $HTTP_POST_VARS[email])
{
mysql_close($open2);
header("location: mail.php");
}
}
$open = mysql_connect("adress", "blabla", "blabla");
$data = mysql_db_query("db", "INSERT INTO table (address) VALUES ('$HTTP_POST_VARS[email]');");
mysql_close($open);
header("location: mail.php?action=insertsuccess");
Det är säkert jättefult skrivet, det fungerar ju inte heller. Det som händer är att värdet läggs till även fast det finns i db:n.
B Bäckman Medlem sedan nov. 2001 274 inlägg Jag hade gjort något sånt här.
$sql = "SELECT address FROM table WHERE address = '{$_POST["email"]}'"
$result = mysql_query($sql);
if (mysql_result($result, 0) > 0) {
header("location: mail.php");
} else {
$sql = "INSERT INTO table (address) values('{$_POST["email"]}')";
mysql_query($sql);
header("location: mail.php?action=insertsuccess");
}
Så du kollar om du får några träffar från den första frågan. Om du inte får det så finns ju inte adressen i databasen, o då kör du in den. Om den redan finns så skickas du vidare. Hoppas det hjälpte...
W web00132 Medlem sedan maj 2001 797 inlägg Tack för hjälpen, men det funkar inte. Det blir fel på:
if (mysql_result($result, 0) > 0)
Fel:Supplied argument is not a valid MySQL result resource
B Bäckman Medlem sedan nov. 2001 274 inlägg testa
if (mysql_result($result) > 0) {
Asså ta bort nollan i parentesen
W web00132 Medlem sedan maj 2001 797 inlägg Då blev det
Wrong parameter count for mysql_result()
B Bäckman Medlem sedan nov. 2001 274 inlägg Hah, vad sysslar jag med egentligen.
$sql = "SELECT address FROM table WHERE address = '{$_POST["email"]}'"
$result = mysql_query($sql);
if (mysql_num_rows($result) > 0) {
header("location: mail.php");
} else {
$sql = "INSERT INTO table (address) values('{$_POST["email"]}')";
mysql_query($sql);
header("location: mail.php?action=insertsuccess");
}
Kolla på den felande raden nu. :)
W web00132 Medlem sedan maj 2001 797 inlägg Nope,
Supplied argument is not a valid MySQL result resource
på samma rad.
B Bäckman Medlem sedan nov. 2001 274 inlägg $open2 = mysql_connect("adress", "blabla", "blabla");
$sql = mysql_db_query("db", "SELECT address FROM table WHERE address = '{$_POST["address"]}'");
if (mysql_num_rows($sql) > 0)
{
mysql_close($open2);
header("location: mail.php");
} else {
$open = mysql_connect("adress", "blabla", "blabla");
$data = mysql_db_query("db", "INSERT INTO table (address) VALUES ('$HTTP_POST_VARS[email]');");
mysql_close($open);
header("location: mail.php?action=insertsuccess");
}
Såhär då? :l
W web00132 Medlem sedan maj 2001 797 inlägg Sådärja! Inte lika snygg kod som innan men den fungerar perfekt! Tack ska du ha :bire