PHP MySQL - Query | if-Abfrage

david96

Ensign
Registriert
März 2007
Beiträge
218
Hallo,

ich habe folgenden MySQL Query:

PHP:
$db = @new MySQLi('localhost', '[user_zensiert]', '[pw_zensiert]', '[name_zensiert]');
if (mysqli_connect_errno())
{
    die('Konnte keine Verbindung zu Datenbank aufbauen, MySQL meldete: '.mysqli_connect_error());
}

$sql = 'SELECT
    ID,
    Feld
FROM
    sonntag
ORDER BY
    ID DESC
LIMIT 1';

Jetzt will ich also den neuesten Eintrag automatisch auswählen. Das sollte ja so klappen?

Und dann möchte ich prüfen lassen, ob in 'Feld' 'wir' steht, das müsste mit ner if-Abfrage gehen. Nur wie genau?

Habe von PHP / MySQL noch nicht so viel Ahnung...

Grüße
 
sieh dir mal den abschnitt where in der doku an.
Code:
WHERE feld LIKE '%wir%'
bzw.
Code:
WHERE feld = 'wir'
das erste sucht nach wir in einem text (äquivalent zu *wir*) und das zweite sucht nur nach wir.
 
So wie ich das jetzt verstanden hab ist das aber nicht das was ich suche . :S

Ich möchte in einer Seperaten if-Abfrage abfragen: WENN das oberste 'Feld' (sortiert nach ID, absteigend) gleich wir ist, dann ..., wenn nicht, dann ;)
 
PHP:
$db_erg = mysql_query($sql);
$zeile = mysql_fetch_array($db_erg, MYSQL_ASSOC);
$xyz = $zeile['feld'];

If ($xyz=="wir") { 
  // mache dies
} else {
 // mache dass
}
nur schnell getippt, muss nicht 100%ig funktionieren ^^

Wenn mehrere "Zeilen" zurückgegeben werden musst du natürlich den Kram in ner Schleife abarbeiten, aber wenn du ohnehin nur eine bekommst (im Query steht ja was von LIMIT 1) gehts auch so.
 
Zuletzt bearbeitet: (korrigiert)
Hey danke :),

habe es aber gerade selber geschafft zu lösen:
PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

mysql_connect("localhost", "[user_zensiert]", "[pw_zensiert]");
mysql_select_db("[name_zensiert]");

$abfrage = "SELECT Feld FROM Tabelle ORDER BY ID DESC LIMIT 1";
$ergebnis = mysql_query($abfrage);
$test = mysql_fetch_object($ergebnis)->Feld;

if ($test == 'wir')
    echo 'test';
else
    echo 'test_';
?>
 
Zuletzt bearbeitet:
Übrigens: "... spalte LIKE 'daten%' ..." benutzt einen Index, so denn auf <spalte> angelegt.
"... spalte LIKE '%daten%' ..." benutzt KEINEN Index (und das dauert je nach Tabellengröße sehr lange, da jeder Datensatz inspiziert wird)
 
Zurück
Oben