Gibt das nicht einen Syntax Error?
mfG,
Suicune_STar
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“-
-
Wenn MySQL die nicht mag, dann wird es wohl kaum einen Syntax-Error geben, wenn man die wegläßt, oder? 8|
-
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); ?>
-
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.
Ja, und das ist doch völlig eindeutig. -
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:
PHPfunction 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:
-
Das ist auch ganz nett:
PHPsubstr( 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
-
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. -
Ich hätte da auch mal zwei Fragen zu PHP:
1. Was ist eigentlich der Unterschied zwischen required() und include()?
2. Welche Bedeutung hat das _once hinter den beiden Befehlen eigentlich? -
1. Steht alles in der PHP.net Doku
2.1. Required wirft nen Error wenn die Datei nicht gefunden wurde, include ne Warning
2.2. Die Datei wird nur einmal eingebunden, auch wenn es öfter aufgerufen wird… -
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"!PHP
Alles anzeigen<?php $action = mysql_real_escape_string(isset($_GET['action']) ? $_GET['action'] : false); if (empty($action)) { ?> <a href="register.php">Noch keinen Account ? Hier registrieren</a>.<br /><br /> <form action="index.php?action=login" method="post"> <table border="0"> <tr> <td> <label for="username">Benutzername</label></td> <td> <input type="text" name="username" id="username"></td> </tr> <tr> <td> <label for="password">Passwort</label></td> <td> <input type="password" name="password" id="password"></td> </tr> </table><br /><br /> <input type="submit" value="Anmelden"> </form> <?php } else { ?> <?php if ($action != "login") { echo ' Ungültiger Link!'; } else { $username = mysql_real_escape_string($_POST['username']); $password = mysql_real_escape_string($_POST['password']); if (empty($username) || empty($password)) // Alles ausgefüllt ? { echo ' Du musst alles ausfüllen.<br /> <a href="index.php">Zurück</a>'; } else { $num = mysql_num_rows(mysql_query("SELECT userID FROM community_user WHERE username = '$username'")); // Gibt es den Benutzer überhaupt ? if ($num == 0) // Wenn es den Benutzer nicht gibt, Login verhindern { echo ' Benutzername nicht vorhanden.<br /> <a href="index.php">Zurück</a>'; } else { $num = mysql_num_rows(mysql_query("SELECT userID FROM community_user WHERE username = '$username' AND active = 1")); // Ist der Benutzer aktiviert ? if ($num == 0) // Wenn der Benutzer nicht aktiviert gefunden wurde, Login verhindern { echo ' Der Benutzer muss erst aktiviert werden.<br /> <a href="register.php">Zurück</a>'; } else { $row = mysql_fetch_object(mysql_query("SELECT userID, username, password, passwordSalt FROM community_user WHERE username = '$username'")); $userID = $row->userID; $myPassword = sha1($row->passwordSalt.sha1($row->passwordSalt.sha1($password))); if ($myPassword == $row->password) { $_SESSION['community_userID'] = $userID; $_SESSION['community_user'] = $username; echo ' Du hast dich erfolgreich angemeldet.<br /> <a href="intern.php">Weiter</a>'; } else { echo ' Falsche Daten angegeben!<br /> <a href="index.php">Zurück</a>'; } } } } } ?> <?php } ?>
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):
ZitatWarning: 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)Allerdings sehe ich beim Query in Zeile 87 auf die Schnelle keinen Fehler. Die Datenbankdaten sind auch korrekt über eine externe Datei eingebunden worden.
-
„Access denied for user ''@'localhost'“
Es wurde keine Verbindung hergestellt.
-
„Access denied for user ''@'localhost'“
Es wurde keine Verbindung hergestellt.
So schlau war ich eigentlich auch schon, obwohl ich die Konfigurationsdatei für die Datenbank korrekt eingebunden habe. Muss ich wohl nochmal drüberschauen und beim Hoster nachfragen.
-
Wenn du weißt wo der Fehler liegt, warum fragst du dann?
-
Kann man den Post liken? :P
-
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.
-
Die Fehlermeldung ist eindeutig, meinst du nicht?