webForumDet fria alternativet

skifta mellan två sql satser

PHP

1 svar · 259 visningar · startad av Arre

Medlem sedan juli 200370 inlägg
Frågan#1

Jag har gjort en funktion som tar sin indata via ett formulär med namn och email fält. Funktionen ska helt enkelt se om namnet finns och därefter med hjälp av en if-sats bestämma vad som ska göras. Om namnet finns, ska endast dess email uppdateras, och om namnet inte finns i databasen så ska den läggas in som ny rad i databasen.

<?php
function checkUser($name,$mail) {
  $conn_id = ifx_connect ("db@atkin")
    or die("Cant open database");

  $query = "SELECT name FROM bUser where name == '$name'";
  $result = ifx_query ($query, $conn_id)
    or die("Cant SELECT");

  if ($result != null)
    {
      print "UPDATE";
      $query = "UPDATE bUser SET email = '$mail' where name == '$name'";
      $result = ifx_query ($query, $conn_id)
        or die("Cant UPDATE");
    } else {
      print "INSERT";
      $query = "INSERT INTO bUser Values ('$name','$mail')";
      $result = ifx_query ($query, $conn_id)
        or die("Cant INSERT");
    }
  ifx_free_result($result);
  ifx_close($conn_id);
}
?>

Jag har upptäckt att if-satsen inte fungerar som den ska. Variabeln $result har "Resource id 2" som värde hela tiden (printade ut den för att se). Vad är det som jag gör fel? :(

Tack på förhand!

Medlem sedan mars 20025 907 inlägg
#2
if (ifx_affected_rows($result) == 0)

?

253 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)