Sammeltopic für kurze Codingfragen

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Ich glaube, Suicune meint die Semikolons, mit der in PHP Funktionen etc. abgeschlossen werden.
    Und Tim (dein Name ist zu schwer zum Schreiben xD), du meinst sicherlich die Semikolons zum Abschluss des Queries, welche aber nicht die Funktion mysql_query beenden.


    Bei Leons Script sind, glaube ich, die Values nicht korrekt angegeben.
    Versuch doch mal folgendes:


    PHP
    <?php
        $sql = "INSERT INTO pokemons(image, pokeID, name, typ, faehigkeit) 
                VALUES ('$picture','intval($number)','$name','$type2','$help')";
        mysql_query($sql);
    
    
        $sql = "INSERT INTO pokemons(image, pokeID, name, typ, typ2, faehigkeit) 
                VALUES ('$picture','intval($number)','$name','$type2','$type4','$help')";
        mysql_query($sql);
    ?>
  • Ich habe auch mal eine Frage.
    Ich habe noch nie mit Zufallscripts in PHP gearbeitet.
    Nun brauche ich aber eine 10-stellige Zeichenkette, welche aus durch Zufall bestimmte Zeichen bestehen.
    Verwendet werden sollen kleine und große Buchstaben a-z, A-Z sowie Zahlen 0-9.


    Kann mir bitte jemand weiterhelfen?

  • Also ich benutze folgende Funktion:


    PHP
    function randomstring($length) {    $characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';    $string = '';    for ($p = 0; $p < $length; $p++)        $string .= $characters[mt_rand(0, strlen($characters))];    return $string;}


    Dann nur noch per Aufruf einen String anfordern:


    PHP
    echo randomstring(10);

    mummy mummy as you lie the dark man comes and makes you die
    my daddy's hands are red with guilt because he killed the life we built
    -
    bianco angelo

  • Das ist auch ganz nett:

    PHP
    substr( str_shuffle( 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$' ) , 0 , 10 );


    http://snipplr.com/view/49562/…andom-password-generator/



    Ich glaube, Suicune meint die Semikolons, mit der in PHP Funktionen etc. abgeschlossen werden.


    PHP
    <?php$sql = "INSERT INTO pokemons(image, pokeID, name, typ, faehigkeit) VALUES ('$picture','intval($number)','$name','$type2','$help')";mysql_query($sql);$sql = "INSERT INTO pokemons(image, pokeID, name, typ, typ2, faehigkeit) VALUES ('$picture','intval($number)','$name','$type2','$type4','$help')";mysql_query($sql);?>




    Schön und gut, dass du es glaubst, aber so sieht das wirklich unschön aus. Integer setzt man nicht in ' ein. Mal etwas verbessert (ich kapiere sowieso nicht den sinn, weshalb du 2 mal das annähernd selbe gepostet hast o.O)


    PHP
    $sql = "INSERT INTO `pokemons` (`image`, `pokeID`, `name`, `typ`, `typ2`, `faehigkeit`) 
    VALUES ('".$picture."', ".intval($number).", '".$name."', '".$type2."', '".$type4."', '".$help."')";
    mysql_query($sql);


    Und falls tim wegen ` motzt: http://framework.zend.com/manu…tandard.coding-style.html shit happens?!

  • Hab ich nicht exakt das selbe schon vor nen paar Tagen gepostet? Dein Query beinhaltet btw nen neuen Fehler. intval($number) innerhalb das strings wird so nicht funktionieren. Was die Backticks betrifft: Nötig sind die hier nicht. http://dev.mysql.com/doc/refman/5.0/en/identifiers.html


    Stimmt, hab ich übersehn. Ausserdem ist es nicht mein Query, sondern der von ChrisID
    Und achja, habe ich geschrieben, dass sie nötig sind? Nein. Nur siehe Link beschreibt es so, dass man es mit ihnen machen sollte.

  • Mein Fehler ist behoben......kA ging auf einmal^^
    Nächster Fehler, komm nich in meinen Internen Bereich, Login spackt, er sagt mir "Falsche Daten angegeben"!


    Kein Schreck kriegen vor den ganzen Leerzeichen, hät ich per CSS gemacht, aber ich hatte kb d-_-b ^^
    mfG,
    Suicune_STar

  • Du verschwendest sau viele Queries, das ließe sich mit weit weniger Datenbankzugriffen machen.
    Zu deinem eigentlichen Problem: Daten nur escapen, die auch wirklich in die Datenbank geschrieben werden. mysql_real_escape_string() wird hier viel zu früh angewendet.

  • Irgendwie spinnt meine SQL-Verbindung (lokal gab es keine Probleme):


    Zitat

    Warning: mysql_query() [function.mysql-query]: Access denied for user ''@'localhost' (using password: NO) in /users/savior/www/dev/bugtracker.php on line 87


    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /users/savior/www/dev/bugtracker.php on line 87
    Access denied for user ''@'localhost' (using password: NO)


    PHP
    $result = mysql_query($sql) OR die(mysql_error());


    Allerdings sehe ich beim Query in Zeile 87 auf die Schnelle keinen Fehler. Die Datenbankdaten sind auch korrekt über eine externe Datei eingebunden worden.

  • Zitat

    Wenn du weißt wo der Fehler liegt, warum fragst du dann?


    Ich weiß nicht wo genau der Fehler liegt bzw. ich bin mir nicht genau sicher, aber ich wusste schon vorher, dass keine Verbindung aufgebaut werden konnte. Soll ich mal die komplette Datei posten oder liegt das wirklich an der Verbindung zur DB? Gästebuch funktioniert zum Beispiel, also müssten die Konfigurationsdaten korrekt eingebunden worden sein.