Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Was ist an dieser syntax Falsch ???

Empfohlene Antworten

Veröffentlicht

Habe etwas programmiert.

Dieses Script soll den wert aus der spalte gag in der tabelle $_T_USERS auslesen und dann mit einem vorgegebenen wert (hier 0) vergleichen.

Es soll anhand des schon bekannten namen (hier der wert nick) dessen wert im feld gag auslesen.

Ist der Wert 0 soll das script weiter ausgeführt werden. andernfalls abbrechen (nichts machen).

Mein Code:

$result= mysql_query("SELECT gag FROM $_T_USERS WHERE nick = $user");
if ($result == "0")
{
$sql="INSERT INTO $_T_CHAT_MESSAGES VALUES ('','$_user->chat_raum','$text','$_user->nick','$an','$farbe','$schriftart','$format','".date('YmdHis')."')";
mysql_query($sql,$v);
}
else
die();
}
[/PHP]

Original geschrieben von FisyX

$result= mysql_query("SELECT gag FROM $_T_USERS WHERE nick = $user");
if ($result == "0")
{
$sql="INSERT INTO $_T_CHAT_MESSAGES VALUES ('','$_user->chat_raum','$text','$_user->nick','$an','$farbe','$schriftart','$format','".date('YmdHis')."')";
mysql_query($sql,$v);
}
else
die();
} // Für was soll diese Klammer sein ?
[/PHP]

Ausserdem kannst du nicht direkt auf die Variable Result zugreifen.

Mit:

[PHP]
while($row = mysql_fetch_array($result)) {
echo $row["gag"];
}

kannst du auf die Inhalte zugrifen.

Grüße

Hallo!

Also, ich weiß leider nicht ganz was


if ($result == "0")
[/PHP]

soll.

[i]Zitat von http://de.php.net/manual/de/function.mysql-query.php:[/i]

Nur für SELECT, EXPLAIN, SHOW oder DESCRIBE Anweisungen liefert mysql_query() eine Ressourcen-Kennung oder FALSE, falls die Anfrage nicht korrekt ausgeführt wurde. Für alle anderen SQL Anweisungen ist der Rückgabewert von mysql_query() im Erfolgsfall TRUE, im Fehlerfall FALSE. Ein Rückgabewert ungleich FALSE bedeutet, dass die Anfrage gültig war und vom Server ausgeführt werden konnte. Das alleine sagt jedoch überhaupt nichts über die Anzahl veränderter oder gelieferter Datensätze aus. Es ist durchaus möglich, dass eine Anfrage erfolgreich war, ohne einen einzigen Datensatz zur verändern oder zu liefern.

Vielleicht liegt der Fehler ja hier.

Und du solltest mit den Ressourcen-IDs aufpassen. Einmal rufst du [b]mysql_query()[/b] nur mit der Query auf, weist den Interpreter also an, die letztbenutzte Verbindung zu verwenden. Danach, beim Eintragen in die Message-Tabelle, benutzt du die id [b]$v[/b]. Das kann zu Fehlern führen. Nach diesem Block z.B. ist die letztverwendete Verbindung nicht die user-Verbindung sondern die $v-Verbindung (Wenn dies nicht dieselben sind).

Ich hoffe, du kommst ein wenig weiter.

Gruß

kLeiner_HobBes

mein bisheriger code:

$ergebnis=mysql_query("SELECT gag FROM ".$_T_USERS." WHERE nick='".$nick."'",$v);
$anzahl=mysql_num_rows($ergebnis);

if ($anzahl == 0)
{
$sql="INSERT INTO $_T_CHAT_MESSAGES VALUES ('','$_user->chat_raum','$text','$_user->nick','$an','$farbe','$schriftart','$format','".date('YmdHis')."')";
mysql_query($sql,$v);
}
else
{
die();
}[/PHP]

Das script soll den wer in der spalte gag der tabelle test mit dem von mir gewollten wert 0 vergleichen! wenn gag = 0 dann führe script aus.... andernfalls nicht.

Den gag wer muss ich anhand des usernamen rausfiltern.

Denn nur wenn der user in der tabellenspalte gag 0 drin stehen hat soll das script nix machen

Es will ned funktionieren.... Warum ?????????

Was mach ich falsch ???? :( :( :( :(

Also, ich habe das mal auf eine Tabelle einer meiner DB angepasst und es geht. Sicher, dass deine Variablen richtig gefüllt sind??? was steht bei Dir in.

$v

$_T_USERS

$nick

Lass Dir die Werte ausgeben und überprüfe diese noch einmal!



<?

include("inc/db_connect.inc");

$tabelle = "db_tab_us_user";
$benutzer = "peter";

$ergebnis=mysql_query("SELECT db_us_nr FROM " . $tabelle . " WHERE db_us_name = '". $benutzer . "'");

$anzahl=mysql_num_rows($ergebnis);

echo("Anzahl : " . $anzahl . "<br>");

if ($anzahl == 0)
{
echo("Keine Daten");
}
else
{
echo("Daten vorhanden");
}


?>

[/PHP]

habs jetzt so geproggt:

global $HTTP_COOKIE_VARS,$_T_USERS,$v,$_user;
# Cookie auslesen
$cookie=$HTTP_COOKIE_VARS['chatdaten'];
if (isset($cookie) && $cookie!="") {
$cookie=base64_decode($cookie);
$cookie=explode(":", $cookie);
$id="$cookie[0]";
$nick="$cookie[1]";
$pwd="$cookie[2]";

$ergebnis=mysql_query("SELECT gag FROM ".$_T_USERS." WHERE nick='$nick'",$v);
$anzahl=mysql_num_rows($ergebnis);

if ($anzahl==1)
{
$sql="INSERT INTO $_T_CHAT_MESSAGES VALUES ('','$_user->chat_raum','$text','$_user->nick','$an','$farbe','$schriftart','$format','".date('YmdHis')."')";
mysql_query($sql,$v);
}
else { die(); }
}[/PHP]

lese alle daten aus cookie aus.

Der obige quellcode funktioniert.

Aber er funktioniert auch, wenn in der spalte gag 0 eingetragen ist!

Woran liegt es ???

Help :confused:

Original geschrieben von FisyX

$ergebnis=mysql_query("SELECT gag FROM ".$_T_USERS." WHERE nick='$nick'",$v);

Aber er funktioniert auch, wenn in der spalte gag 0 eingetragen ist!

Woran liegt es ???

Du fragst ja nirgends gag ab. Wenn ich das richtig verstehe steht in gag 0 oder 1 drin. Also bringt dir die Abfrage immer ein Ergebnis

$ergebnis=mysql_query("SELECT gag FROM ".$_T_USERS." WHERE nick='$nick' and gag=1",$v);

So würdest du kein Ergebnis bekommen, wenn gag<>1 ist.

Nach geschlagenen 4 stunden hab ichs *freu*

:D :D :D :D :D :D

Will ja mein Glück teiel... also hier der quellcode:

 global $HTTP_COOKIE_VARS,$_T_USERS,$v,$_user;
# Cookie auslesen
$cookie=$HTTP_COOKIE_VARS['chatdaten'];
if (isset($cookie) && $cookie!="") {
$cookie=base64_decode($cookie);
$cookie=explode(":", $cookie);
$id="$cookie[0]";
$nick="$cookie[1]";
$pwd="$cookie[2]";

$ergebnis=mysql_query("SELECT * FROM ".$_T_USERS." WHERE nick='$nick' AND gag='0'",$v);
$anzahl=mysql_num_rows($ergebnis);

if ($anzahl==1)
{
$sql="INSERT INTO $_T_CHAT_MESSAGES VALUES ('','$_user->chat_raum','$text','$_user->nick','$an','$farbe','$schriftart','$format','".date('YmdHis')."')";
mysql_query($sql,$v);
}
else { die(); }
}[/PHP]

THX für eure hilfe :marine

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.