MySQL-Datensätze aulesen

K

Kaworu

folgendes: ich habe eine mysql datenbank, und das reinschreiben per php funzt schon perfekt. Jetzt hab ich allerdings arge probleme beim auslesen der eingegebenen Daten. Aus div. Online-Handbüchern und tut's hab ich mir folgenden quelltext gebastelt:
PHP:
<html>
 <body>
  <?php
   $link = mysql_connect("db.animeotakus.f2s.com:3306","animeotakusde","*****")
    or die("Konnte nicht verbinden");
   mysql_select_db("animeotakusde", $link);
   $sql = "SELECT 'Email','Passwort' FROM 'users' WHERE 'Nick' LIKE '" . $user . "'";
   $result = mysql_query($sql,$link);
   
   print(mysql_error());
   mysql_close($link);
  ?>
 </body>
</html>
Der Feld-test ergibt nun folgendes (http://www.animeotakus.f2s.com/showuser.php?user=Kaworu):
Warning: Supplied argument is not a valid MySQL result resource in /web/sites/114/animeotakusde/www.animeotakus.f2s.com/showuser.php on line 9
You have an error in your SQL syntax near ''users' WHERE 'Nick' LIKE 'Kaworu'' at line 1

phpmyadmin spuckte den befehl LIKE aus, also nich wundern, mit WHERE 'Nick'='Kaworu' hab ichs auch schon probiert.

wo liegt der fehler?
 
PHP:
<html>
 <body>
  <?php
   $link = mysql_connect("db.animeotakus.f2s.com:3306","animeotakusde","*****")
    or die("Konnte nicht verbinden");
   mysql_select_db("animeotakusde", $link);
   $sql = "SELECT 'Email','Passwort' FROM 'users' WHERE 'Nick' LIKE '" . $user . "'";
   $result = mysql_query($sql,$link);
   
   print(mysql_error());
   mysql_close($link);
  ?>
 </body>
</html>

Also ich würde nicht die immer eine neue Verbindung aufbauen, da die Datenbanken von f2s sehr empfindlich darauf reagieren.

Viellecht legst du dazu eine connect.php
mit
PHP:
mysql_connect("db.animeotakus.f2s.com","animeotakusde","*****")
    or die("Konnte nicht verbinden");
mysql_select_db("animeotakusde");

Der Port muss beim Server nicht dabeistehen, aber egal. :)

In dein Script könnte dann so aussehen:

PHP:
  <?php
   require('connect.php');

$sql = "SELECT Email,Passwort FROM users WHERE Nick LIKE " . $user . " ";
   $result = mysql_query($sql);
   
   print(mysql_error());
   mysql_close();
  ?>

Viellecht liegt's ja an den ' . :)
 
also ich raff ned was das da soll
PHP:
$sql = "SELECT 'Email','Passwort' FROM 'users' WHERE 'Nick' LIKE '" . $user . "'";

ich würde das ganze so schreiben

PHP:
<?
$sql = mysql_query("SELECT * FROM users WHERE nick='$user'",$link);
$feld = mysql_fetch_array($sql);

echo $feld["email"];
echo "<br />
echo $feld["passwort"];

Also ich weiss net gnau, aber ich würd die felder
alle klein schreiben.

Weiss aber echt ned ob that was ausmacht..

Mfg.
rEd-gOrAn
 
php iss komisch ^^

hab mal nen bisschen rumgebastelt, jetz gehts ^^''

PHP:
<html>
 <body>
  <?php
   $link = mysql_connect("db.animeotakus.f2s.com:3306","animeotakusde","********")
    or die("Konnte nicht verbinden");
   mysql_select_db("animeotakusde", $link);
   $sql = "SELECT Nick,Email FROM users WHERE Nick LIKE '" . $user . "'";
   $result = mysql_query($sql,$link);
   while ($array = mysql_fetch_array($result)) {
    echo "Name: " . $array['Nick'] . "<br>";
    echo "Mail: " . $array['Email'];
   }
   print(mysql_error());
   mysql_close($link);
  ?>
 </body>
</html>
das funzt. ich meine zwar, das so schon probiert zu haben aber gut
:rolleyes:
http://www.animeotakus.f2s.com/showuser.php?user=Kaworu
 
neues prob

kaum funzt das, das nächste problem. Ich hab jetz nen mini-anmeldscript gebaut, super-diletantisch aber egal :)

PHP:
<html>
 <body>
  <?php
   $link = mysql_connect("db.animeotakus.f2s.com:3306","animeotakusde","******")
    or die("Konnte nicht verbinden");
   mysql_select_db("animeotakusde", $link);
   $sql = "SELECT Passwort FROM users WHERE Nick LIKE '" . $user . "'";
   $result = mysql_query($sql,$link);
   while ($array = mysql_fetch_array($result)) {
    $userpass = $array['Passwort'];
   }
   if ($formpass = $userpass) {
    print("Login erfolgreich<br>");
   }
   else {
    print("Login fehlgeschlagen<br>");
   }
   print(mysql_error());
   mysql_close($link);
  ?>
 </body>
</html>
Aber egal was ich im anmeldefenster eingebe, solange der Nick in der DB ist, wird eingeloggt.
> http://www.animeotakus.f2s.com/login.htm
gebt als usernamen kaworu und ein beliebiges pw ein.

wo ist der fehler, ich find ihn beim besten willen und auch nach 5 mal durchsuchen nicht.
(auslesen des pw's funzt, das hab ich ausprobiert. Irgendwie funktioniert die if-abfrage nich.)

das ist der html-code des formulars:
<html>
<body>
<form action="login.php" method="POST">
Nick: <input type=text name=user><br>
Pass: <input type=text name=formpass><br>
<input type=submit name=los>
</form>
</body>
</html>
 
[edit]

Hmmm. Vielleicht solltest du

PHP:
if (!$formpass = $userpass) {
echo "Login fehlgeschlagen...";
}

else {
echo "Login erfolgreich...";
}

Nur so ein Schuss ins Blaue. :)
 
Zuletzt bearbeitet:
Original geschrieben von -=[KfD]Gouraud=-
Heißt das eigentlich nicht

PHP:
if (!$var1 == $var2)


???
genau das heisst es (eben ausprobiert) :)

cool, jetz funzt schon fast alles was ich prinzipiell zu meiner user database brauche :smoke:
fehlt nur noch die möglichkeit die daten zu ändern, das newsscript, ein uploadscript sowie das automatische erzeugen von emails als antwort auf das anmeldescript.
(okay, ist wohl doch noch ne ganze menge ;) )

weiss zufällig jemand wie das geht? (also email erzeugen)
 
Also Mailen kannst du so:
PHP:
<?
$empfaenger = "deine@mail.com";
$betreff ="Dieses Mail wurde mit PHP erstellt";
$body = "Dies hier ist der Text der in das Mail soll!";
$header = "From: Dein Name <deine@mail.com>";

mail($empfaenger,$betreff,$body,$header);
?>
 

Neue Beiträge

Zurück