Nach einem Wert in Tabelle suchen

-GS-Master

Erfahrenes Mitglied
Hallo wie der Titel schon verät möchte ich mittels MySql in einer Tabelle nach einem Wert suchen lassen. Leider hab ich da nicht besonders viel wissen drüber und somit woll ich fragen wie denn diese Abfrage lautet, welche ich dann bei der Tabelle "newsletter" anwenden muss.

Danke schon mal

P.S.: suche auch noch mal bei bestimmten Tutorials etc. und :google:
 
HTML:
SELECT 
   spalte
FROM
   tabelle
WHERE
   spalte = suchbegriff

Wenn die Spalte gleich dem Suchbegriff ist. Also in deinem Beispiel zum Beispiel,
falls die Spalte eine E-Mail Adresse enthält und der Suchbegriff diese E-Mail Adresse
ist.


Andernfalls hilft dir dass vielleicht weiter:

http://www.little-idiot.de/mysql/mysql-168.html
 
Zuletzt bearbeitet:
So hohl ich mir doch die Daten, sofern diese in der DB stehen.
Nun möchte ich einen Newsletter erstellen und da solls nur 1 Textfeld geben ... dort geben die Leute Ihre email an und dann möchte ich eben Prüfen ist diese Forhanden, wenn ja dann eMail löschen wenn nicht dann eintragen ^^

Wie geht dann dies am besten + if Abfrage, wenn so geht es nicht ...

PHP:
<?php
if(isset($_POST['ok'])){

include_once 'include/dcon.php'; 

$details = mysql_query("SELECT * FROM newsletter WHERE email = ".$_POST['mail']);
$d = mysql_fetch_array($details);

// Weiter wüsst ich ^^ bekomme aber diese Fehlermeldung

// Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource 
// in /home/www/web3/html/v1/newsletter.php on line 7


}
else
{
?>

<form action="newsletter.php" method="POST">
<input type="test" size="20" name="mail">
<input type="submit" name="ok" value="submit">
</form>

<?php
}
?>
 
Da es sich bei der Email ja um einen String handelt, musst du es in Hochkommata in der SQL-Abfrage stellen, außerdem aus Gründen der Sicherheit (sprich SQL-Injektion) escapen (siehe [phpf]mysql_real_escape_string[/phpf])
PHP:
$details = mysql_query("SELECT COUNT(`email`) AS `exists` FROM `newsletter` WHERE `email` = '".mysql_real_escape_string($_POST['mail'])."'") or die(mysql_error());
$result = mysql_fetch_array($details);
if($result['exists'] > 0)
{
    echo 'E-Mail bereits eingetragen';
}
else
{
    echo 'E-Mail noch nicht eingetragen';
}
 
Zuletzt bearbeitet:
Dann häng doch mal or [phpf]die[/phpf] an das [phpf]mysql_query[/phpf] und schau, was es dir sagt...
PHP:
$details = mysql_query("SELECT COUNT(`email`) AS `exists` FROM `newsletter` WHERE `email` = '".mysql_real_escape_string($_POST['mail'])."'") or die(mysql_error());
 
Zurück