In datenbakn schreiben, wie?

Subwoover

Erfahrenes Mitglied
So ich habe jetzt endlich ein Script das eigentlich Daten eintragen sollte in eine testdatenbakn, aber es tut das nicht! Warum????


PHP:
<html><head><title>Hi</title></head>
<body>
<form action="<?php echo $PHP_SELF ?>" method="post" name="eintragen">
<input type="text" name="name"><br>
<input type="text" name="passwort"><br>
<input type="submit" value="Send">
</form>
</body>
</html>
 <?

    $connect = mysql_connect("localhost","es","es11");
    $string = "INSERT INTO test (name,passwort) VALUES ($name,$passwort)";
    mysql_select_db("test",$connect);
    $result = mysql_query($string,$connect);

    if ($eintragen)
    mysql_query($result);
    echo "danke";

    ?>
 
du musst dem mysql_query in der Bedingung ebenfalls ne Variable voranstellen, also so:

result2 = mysql_query(...);

Greetz:|
 
Meinst du so:

PHP:
    if ($eintragen)
    $result2 = mysql_query($result);
    echo $result2;
    echo "danke";

so geht es nämlich nicht =(
 
PHP:
<?
    $connect = mysql_connect("localhost","es","es11");
    $string = "INSERT INTO test (name,passwort) VALUES ('$name','$passwort')"; // Ergänzt: Einfache Anführungszeichen
    mysql_select_db("test",$connect);

    $result = mysql_query($string,$connect); // Diese Zeile führt die Abfrage aus!

    if (mysql_affected_rows() != 0)
      echo "Danke.";
    else
      echo "Fehler beim Eintragen der Daten in die Datenbank!";
?>
 
@ reima:
ich hab das jetzt so verstanden dass in dem IF Teil die Abfrage nicht funktioniert, also die hier:

PHP:
    if ($eintragen)
    mysql_query($result);
    echo "danke";

Und da fehlt doch die Variable der das Abfrageergebnis zugewiesen wird.

Oder steh ich jetzt aufm Schlauch?
:(
 
@Der Held: Wofür brauchst du ein Abfrageergebnis? Was willst du denn abfragen? :)

@Subwoover: mysql_query führt den Schreibbefehl aus! Mit mysql_query kann man nicht nur Daten aus der Datenbank auslesen, nein, mit mysql_query kann man so gut wie alles mit der Datenbank anstellen ;)
 
Hey kuhl schrebein kan ich jez nur irgendwie kann ich aufeinmal nicht mehr angeben wieviele User gesammt gespeichert sind... hmmmmm
Kann mir da jemand einen einfachen Code dazu geben?
Vielleicht funktioniert meine Version DA ja nicht...
 
zunächst ma: wenn man nach einem IF-Befehl mehrere Zeilen (oder Befehle) ausführen will, müssen diese in geschweifte Klammern:

PHP:
if ($bedingung) {
   befehl1;
   befehl2;
   befehl3;
}

(bei der Lösung von reima braucht man das nicht ... da is ja nur jeweils ein Befehl !!!)

das mit der Anzahl der User geht z.B. so:

PHP:
$sql="SELECT * FROM test";
$ergebnis=mysql_query($sql);
$anzahl=mysql_num_rows($ergebnis);
echo $anzahl . " User in der Datenbank";

hope that helpz

Dunsti
 
@reima:

Geschafft. Jetz bin ich vollends verwirrt %)

Also nochmal gaaanz langsam für doofe und Helden :)

Subwwover
will folgendes Script ausführen und eine Schreibaktion machen, wenn $eintragen gesetz wird. Aus dem Code geht hervor, das jedoch auch ohne dass $eintragen zu setzen ein Schreibvorgang durchgeführt wird:
PHP:
 <?

    $connect = mysql_connect("localhost","es","es11");
    $string = "INSERT INTO test (name,passwort) VALUES ($name,$passwort)";
    mysql_select_db("test",$connect);
    $result = mysql_query($string,$connect);

    if ($eintragen)
    mysql_query($result);
    echo "danke";

    ?>

So, nu liegt der Fehler einmal, wie Dunsti sagt, an den fehlenden {} des Anweisungsblocks des IF-Zweigs, zum anderen, daran dass mysql_query($result) so nich funktioniert da:
1. keine Variable davor steht ($variable = mysql_query("...");", is doch nötig, oder
2. $result ja das Ergebnis der MySQL-Aktion enthält und keinen String, den MySQL ausführen könnte.


oder seh ich das falsch?

Bitte um Aufklärung
:>
 

Neue Beiträge

Zurück