Avatar billede jps2mt Nybegynder
09. januar 2003 - 23:34 Der er 6 kommentarer og
1 løsning

Funktion med LIKE i MySQL query giver fejl

Kan det passe at flg. funktion kommer med at det ikke er en gyldig query??

function doAlert($alertStr) {
  Require("functions.inc.php");
 
  $arrAlerting = explode(" ", $alertStr);

  for ($i=1; $i<count($arrAlerting);$i++) {
  $alertUser = $alertUser." ".$arrAlerting[$i];
  $result = mysql_query("SELECT COUNT(*) AS IsThere WHERE (Brugernavn LIKE '".$alertUser."%' AND rum = '$_SESSION[rum]')"); <-- Det er denne query den ikke kan lide...
  WHILE ($row = mysql_fetch_array($result)) {
    If ($row[IsThere] != "0") {
    If ($row[Brugernavn] == $alertUser) {
      $j = $i;
      break;
    }
    }
  }
  }

  $alertMsg = "";

  for ($i=$j;$i<count($arrAlerting);$i++) {
  $alertMsg = $alertMsg." ".$arrAlerting[$i];
  }

  $alertStr = "alert%%".$_SESSION[username]."%%".$alertMsg;

  $result = mysql_query("SELECT Udfor FROM actions WHERE (Brugernavn = '$alertUser' and Rum = '$_SESSION[rum]')");
  $row = mysql_fetch_array($result);
  mysql_query("UPDATE actions SET Udfor = '".$row["Udfor"].$alertStr."|' WHERE (Brugernavn = '$alertUser' AND Rum = '$_SESSION[rum]')");
}
Avatar billede Slettet bruger
09. januar 2003 - 23:38 #1
Tilføj or die(mysql_error()) efter din query's for at få udskrevet relevante fejlbeskeder.

Som:

mysql_query(....) or die(mysql_error());

Det vil hjælpe dig.
Avatar billede jps2mt Nybegynder
09. januar 2003 - 23:53 #2
Det giver

You have an error in your SQL syntax near 'WHERE (Brugernavn LIKE ' BlackChart%' AND rum = '0')'
Avatar billede Slettet bruger
10. januar 2003 - 00:02 #3
Det er fordi du mangler at angive en tabel :)

SELECT COUNT(*) AS IsThere FROM dit_tabel_navn WHERE ....
Avatar billede jps2mt Nybegynder
10. januar 2003 - 00:22 #4
Okay...Dum fejl...

Nu kommer den ikke med fejl mere...

Men selvom der er logget en bruger ind med brugernavn BlackChart returnerer COUNT(*) (eller COUNT(ID) for den sags skyld) 0...

Hvordan kan det så være??
Avatar billede Slettet bruger
10. januar 2003 - 00:24 #5
Svar for ovenstående.

Mht. til dit andet spørgsmål. Det kan jeg ikke svare på uden at kende hele dit script vel.
Avatar billede jps2mt Nybegynder
10. januar 2003 - 00:37 #6
Det ER hele scriptet...Det er bare selvstændig funktion...

$alertStr kunne f.eks. være /alert BlackChart Test

Hvor BlackChart er brugernavnet den skal finde...
Avatar billede jps2mt Nybegynder
10. januar 2003 - 00:41 #7
Fandt fejlen...Den satte et mellemrum ind, før brugernavnet...

Men tak for hjælpen med det andet... :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester