Zur Navigation

DB abfrage ohne ausgabe nur das Daten vorhanden sind

1 Aurora-One (Gast)

hi,
ich bin neu hier deswegen komm ich gleich zu sache
ich hab ein kleines Problem

Ich möchte gerne eine allgemeine abfrage ob die daten bereitsvorhanden sind aber ich möchte die Datensätze nicht sehen
ich möchte das gerne über eine if / else lösung machen

Mein Versuch:
require_once('db_daten.php'); //Datenbank laden 

$sqlname1 = 'SELECT Name FROM user WHERE Name="' . $_POST["name"] .'"';
$sqlname = "SELECT * FROM `user` WHERE `Name` = \'Aurora-One\' LIMIT 0, 30 ";

// MIt denn abfragen daten hab ichs versucht

$conname = mysql_query($sqlname) 

if(mysql_num_rows($conname) !="0") // Hier bekomme ich denn Fehler
{
	echo "<font color='#00FF00'>";
	echo "Der Name ist noch frei.";
	echo "</font>";
}
else
{
	echo "<font color='#FF0000'>";
	echo "Der Name ist schon vergeben.";
	echo "</font>";	
}

07.04.2009 22:48

2 Jörg Kruse

if(mysql_num_rows($conname) !="0") // Hier bekomme ich denn Fehler

Was für einen Fehler bekommst du?

Ich würde die Null hier nicht in Anführungszeichen schreiben - es handelt sich ja um einen Integer.

07.04.2009 22:57

3 Aurora-One (Gast)

Also ich bekomme dort ein

Parse error: parse error

07.04.2009 22:59

4 Jörg Kruse

Hier fehlt ein Semikolon am Ende:

$conname = mysql_query($sqlname);

07.04.2009 23:02

5 Aurora-One (Gast)

so ein kleines ding macht so ein ärgger muss mich daruber immer wieder ärgern
danke
dann noch eine Frage ist query angabe so gut

07.04.2009 23:08

6 Jörg Kruse

Die Backslashes sind denke ich hier fehl am Platz?

$sqlname = "SELECT * FROM `user` WHERE `Name` = \'Aurora-One\' LIMIT 0, 30 ";

07.04.2009 23:12

7 Aurora-One (Gast)

SRY ich hatte das andere gemeint

$sqlname1 = 'SELECT Name FROM user WHERE Name="' . $_POST["name"] .'"';

07.04.2009 23:15

8 Jörg Kruse

Hier würde ich die Eingabe aber noch gegen SQL-Injection filtern

Edit:

und die einfachen und doppelten Anführungszeichen müssen anders angeordnet werden

$sqlname1 = "SELECT Name FROM user WHERE Name='" . mysql_real_escape_string($_POST["name"]) ."'";

07.04.2009 23:19 | geändert: 07.04.2009 23:21

9 Aurora-One (Gast)

nur leider mach er die abfrage ohne die Backslashes nicht bei dieser
$sqlname = "SELECT * FROM `user` WHERE `Name` = \'Aurora-One\' LIMIT 0, 30 ";
also er wäre noch frei aber das ist er nicht

Dann bei diesem
$sqlname1 = 'SELECT Name FROM user WHERE Name="' . $_POST["name"] .'"';

Sagt aber bei gleichen daten er wäre nocht nicht vorhanden

07.04.2009 23:22

10 Aurora-One (Gast)

das würde ich aber dann in einer variabele schreiben ich wollte erst das testen mit variabeln

07.04.2009 23:24