frage zu sql....

  • ich hab jetzt den scqlserver von sql.com runtergeladen und installiert.....

    geladen ist er, aber enn ich ne datenbank anlegen will oder was anderes kommt das:
    EINGABEAUFFORDERUNG:
    ###########################################
    E:\Schule\#Prüfungsstück\server\SQL\bin>mysqladmin status
    mysqladmin: connect to server at 'localhost' failed
    error: 'Can't connect to MySQL server on 'localhost' (10061)'
    Check that mysqld is running on localhost and that the port is 3306.
    You can check this by doing 'telnet localhost 3306'

    E:\Schule\#Prüfungsstück\server\SQL\bin>telnet localhost 3306
    Verbindungsaufbau zu localhost...Es konnte keine Verbindung mit dem Host hergestellt werden, auf Port 3306.
    Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.
    ###########################################

    was mach ich jetzt? hab den php server laufen, aber der hat dochimho nix damit zu tun.

    das windwos is ganz frisch is keine fw oder so druff und auch die windppf firewall ist aus.
    ich sitzt da seit gestern dran und komm ni weiter...

    will endlich dieses sql mal zum laufen bekommen.....

  • hää? was hat localhost mit sql zu tun? man kann auch ohne DB nen localhost am laufen haben :strange: :mrgreen:

    das ding simuliert dir php (omnihhtp) und sql ist lediglich datenbankzusatz....

    deswegen ist das bei omni ja auch nicht integriert...was meinste wieviele php befehle es gibt, die ohne sql auch sinnvoll sind ;)

  • also php funzt ohne probs.....

    nur wenn ich irgendwas mit sql machen will (z.b. ne datenbank anlegen) sagt er mir dass er nicht zum localhost durchkommt.

    der sqlserver ist aber gestartet (denk ich) und localhost is auch da (logisch....)

  • ok jetzt kommt das nächste, wo ich wirklcih nicht weiter komme:

    will ein einfaches gästebuch machen. hab dafür 2 seiten:
    gb.php3
    ############################
    <html>
    <head>
    <title>gb</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <form action="ins.php3" method="post">
    <table border="1">
    <tr>
    <td>name:</td>
    <td><input type="text" name="name" maxlength="50"></td>
    </tr>
    <tr>
    <td>titel:</td>
    <td><input type="text" name="titel" maxlength="40"></td>
    </tr>
    <tr>
    <td>eintrag:</td>
    <td><textarea name="eintrag" cols="30" rows="5"></textarea></td>
    </tr>
    <tr>
    <td align="center" colspan="2">
    <input type="submit" value="eintragen">
    <input type="reset" value="löschen">
    </td>
    </tr>

    </table>
    </form>
    </body>
    </html>
    ############

    und
    ins.php3
    ##############
    <html>
    <head>
    <title>insert</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <?php
    echo "$eintrag
    ";
    $db = mysql_connect("localhost","root","");
    mysql_select_db("daten", $db);
    mysql_query("INSERT INTO gb ( datum , name , titel , eintrag`)
    VALUES (
    NOW( ) , '$name', '$titel', '$eintrag')", $db);
    /*
    if(mysql_affected_rows($db)==1)
    echo "<a href=/"gb.php3/">danke</a>";
    else
    echo "<a href=/"gb.php3/">fehler</a>";
    */

    mysql_close($db)
    ?>
    kilck
    </body>
    </html>
    ###########

    das problem ist, dass die variablen überhaupt nicht in ins.php3 übernommen werden....

    weiss einer den fehler?

  • Wenn du die Variablen via

    Code
    $titel

    ansprechen möchtest, dann muss die PHP-Einstellung global_vars aktiv sein. Da dies aber ein Sicherheitsrisiko ist, ist diese Einstellung meist deaktiviert und das ist auch gut so.

    Spreche die POST-Variablen, die vom Formular nach dem Absenden übergeben werden, über die $_POST['name'] an. In deinem Fall also:

    Code
    $_POST['titel']

    Mehr Informationen dazu findest du direkt auf php-net:

    http://%22http//de2.php.net/register_globals%22

    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein (14.3.1879 – 18.4.1955))

  • danke erstmal...

    hab dei vriable global_vars in keiner ini und config datei irgwendwo gefunden.....

    hab den syntax so geändert:
    echo "{$_POST['$name']} und {$_POST['$titel']}
    ";
    $db = mysql_connect("localhost","root","");
    mysql_select_db("daten", $db);
    mysql_query("INSERT INTO gb ( datum , name , titel , eintrag)
    VALUES (NOW(''), {$_POST['$name']}, {$_POST['$titel']}, {$_POST['eintrag']})", $db);

    aber geht immernoch nicht auch ohne die {} das gleiche.
    ich könnt kotzen....

  • Ich habe auch nicht gesagt, daß du die Variablen in {} schreiben sollst. Schau dir bitte den Link an, da steht alles bestens erklärt.

    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein (14.3.1879 – 18.4.1955))

  • da hast dus chon recht, aber ohne klammern kommt diese fehlermedlung:

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in e:\Schule\#prüfungsstück\HTML\ins.php3 on line 8

    mit klammern kommt keine, aber es passiert halt nix, also die werte werden nciht übernommen.
    und die klammen habe ich ja aus deinem link, speziell:

    <?php
    // We wouldn't know where $username came from but do know $_SESSION is
    // for session data
    if (isset($_SESSION['username'])) {

    echo "Hello {$_SESSION['username']}";

    } else {

  • Hey du hast recht - hab was neues dazugelernt - Danke .)

    Du darfst natürlich vor dem Variablennamen nicht auch noch zusätzlich ein $ davorschreiben. Es muss lauten

    Code
    echo "{$_POST['name']} und {$_POST['titel']}
    ";
    $db = mysql_connect("localhost","root","");
    mysql_select_db("daten", $db);
    mysql_query("INSERT INTO gb ( datum , name , titel , eintrag)
    VALUES (NOW(''), {$_POST['name']}, {$_POST['titel']}, {$_POST['eintrag']})", $db);

    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein (14.3.1879 – 18.4.1955))

  • gut schön.

    also die werte werden nun übernommen, aber mal zur abwechslung nicht in die tabelle geschrieben....

    ohne das $_POST wurde in die tabelle geschrieben, aber halt ohne inhalt.
    MUSS man das eigentlich so machen? meine mich zu erinnern das schon einfacher gesehen zu haben....

    edit:
    $name1=$_POST['name'];
    $titel1= $_POST['titel'];
    $eintrag1=$_POST['eintrag'];
    $db = mysql_connect("localhost","root","");
    mysql_select_db("daten", $db);
    mysql_query("INSERT INTO gb ( datum , name , titel , eintrag)
    VALUES (NOW(''), '$name1', '$titel1', '$eintrag1')", $db);

    so geht alles, aber das muss doch auch einfacher gehen!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!