thom_raindog
Anmeldungsdatum: 20. Mai 2005
Beiträge: 2848
|
Guten Morgen zusammen. ich hab die Tage ein altes Backup einer Website auf meiner Server eingespielt und soweit funktioniert auch alles klaglos. Außer einer php-Datei, deren Aufruf an die MySql nicht funktioniert, laut phpMyAdmin mit dem eher schwammigen Fehler 1064 abbricht. Den Code der Abfrage poste ich hier mal, eventuell fällt einem von euch was auf, das wäre klasse.# | <?php
include("siteinit.inc");
db_verbindung($host_name, $db_name, $user_name, $user_passw);
//$t_name wurde duch teams.php in der Url übergeben durch ....showteam?t_name=....
$abfrage = "SELECT s.id as s_id, s.sp_name, s.sp_position, s.ma, s.st, s.ag, s.av, s.sp_skills, s.ij, s.cp, s.td, s.in, s.cs, s.vp, s.sp, s.cost, t.coach, t.rasse, t.t_name, t.rerolls, t.id as t_id, t.RR_cost, t.assistantcoaches, t.cheerleaders, t.apotheker, t.teamwizard, t.teamrating, t.treasury, t.tcot, t.fanfactor FROM Spieler s, Team t WHERE s.team='$t_name' AND t.t_name='$t_name' ORDER BY nummer ASC";
$ergebnis = mysql_query($abfrage);
$result_cnt = mysql_numrows($ergebnis);
|
Ich geb offen zu ich hab das Ding nicht selbst programmiert. Zu dem damaligen Autor hab ich keinen Kontakt mehr, und außer in Eigenregie das eine oder andere ändern hab ich nichts drauf... Jemand ne Idee? Was würde an Informationen denn helfen?
|
q-rios
Anmeldungsdatum: 28. Juni 2007
Beiträge: 260
|
Ob die Abfrage stimmt, kann ich nicht beurteilen, dazu sollte man die DB kennen. Syntax sollte korrekt sein.
mysql_numrows gibts nicht, wenn dann mysql_num_rows. Noch was: Bring das bitte nicht online, weil da SQL Injection lücken drin sind und vermutlich nicht nur die.
|
Bleys
Anmeldungsdatum: 13. August 2006
Beiträge: 6172
|
| <?php include("siteinit.inc");
db_verbindung($host_name, $db_name, $user_name, $user_passw);
//$t_name wurde duch teams.php in der Url übergeben durch ....showteam?
$abfrage = "SELECT s.id as s_id, s.sp_name, s.sp_position, s.ma, s.st, s.ag, s.av, s.sp_skills, s.ij, s.cp, s.td, s.in, s.cs, s.vp, s.sp, s.cost, t.coach, t.rasse, t.t_name, t.rerolls, t.id as t_id, t.RR_cost, t.assistantcoaches, t.cheerleaders, t.apotheker, t.teamwizard, t.teamrating, t.treasury, t.tcot, t.fanfactor FROM Spieler s, Team t WHERE s.team='$t_name' AND t.t_name='$t_name' ORDER BY nummer ASC";
$ergebnis = mysql_query($abfrage);
if (!$ergebnis) {
$message = 'query Fehler: ' . mysql_error() . "\n";
$message .= 'query Befehl: ' . $query;
die($message);
}
$result_cnt = mysql_numrows($ergebnis);
|
Erweiter mal die Abfrage und poste die Fehlermeldung. http://de.php.net/manual/en/function.mysql-num-rows.php
|
q-rios
Anmeldungsdatum: 28. Juni 2007
Beiträge: 260
|
Code nochmal korrigiert: | <?php include("siteinit.inc");
db_verbindung($host_name, $db_name, $user_name, $user_passw);
//$t_name wurde duch teams.php in der Url übergeben durch ....showteam?
$abfrage = "SELECT s.id as s_id, s.sp_name, s.sp_position, s.ma, s.st, s.ag, s.av, s.sp_skills, s.ij, s.cp, s.td, s.in, s.cs, s.vp, s.sp, s.cost, t.coach, t.rasse, t.t_name, t.rerolls, t.id as t_id, t.RR_cost, t.assistantcoaches, t.cheerleaders, t.apotheker, t.teamwizard, t.teamrating, t.treasury, t.tcot, t.fanfactor FROM Spieler s, Team t WHERE s.team='$t_name' AND t.t_name='$t_name' ORDER BY nummer ASC";
$ergebnis = mysql_query($abfrage);
if (!$ergebnis) {
$message = 'query Fehler: ' . mysql_error() . "\n";
$message .= 'query Befehl: ' . $abfrage;
die($message);
}
$result_cnt = mysql_num_rows($ergebnis);
|
|
thom_raindog
(Themenstarter)
Anmeldungsdatum: 20. Mai 2005
Beiträge: 2848
|
q-rios
Noch was: Bring das bitte nicht online, weil da SQL Injection lücken drin sind und vermutlich nicht nur die.
Tscha... viel Auswahl hab ich nicht, da ich die Funktionen der Website brauche, und von PHP halt Nahe Null Ahnung hab. Sicherheitslücken schließen ist da mehrere Kilometer über meinem Horizont fürchte ich... Die geänderte Abfrage bau ich nachher mal ein und geb Bescheid. Dickes Danke für die schnelle Hilfe an euch beide!
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
thom_raindog schrieb: Tscha... viel Auswahl hab ich nicht, da ich die Funktionen der Website brauche, und von PHP halt Nahe Null Ahnung hab. Sicherheitslücken schließen ist da mehrere Kilometer über meinem Horizont fürchte ich...
Tja, dann viel Spaß mit dem Streichholz im Dynamitlager - wenn man keine Taschenlampe zur Verfügung hat, würde ich da einfach draußen bleiben, bis ich eine habe... 😉
|
q-rios
Anmeldungsdatum: 28. Juni 2007
Beiträge: 260
|
thom_raindog schrieb: q-rios
Noch was: Bring das bitte nicht online, weil da SQL Injection lücken drin sind und vermutlich nicht nur die.
Tscha... viel Auswahl hab ich nicht, da ich die Funktionen der Website brauche, und von PHP halt Nahe Null Ahnung hab. Sicherheitslücken schließen ist da mehrere Kilometer über meinem Horizont fürchte ich... Die geänderte Abfrage bau ich nachher mal ein und geb Bescheid. Dickes Danke für die schnelle Hilfe an euch beide!
Wenn du den Code so online stellst und nicht auf einem Entwicklungssystem, dann hats jeder total leicht die Lücke auszunutzen. Ihm wird sein Fehler direkt angezeigt mit Verbesserungsvorschlag
|
thom_raindog
(Themenstarter)
Anmeldungsdatum: 20. Mai 2005
Beiträge: 2848
|
q-rios schrieb: Code nochmal korrigiert: | <?php include("siteinit.inc");
db_verbindung($host_name, $db_name, $user_name, $user_passw);
//$t_name wurde duch teams.php in der Url übergeben durch ....showteam?
$abfrage = "SELECT s.id as s_id, s.sp_name, s.sp_position, s.ma, s.st, s.ag, s.av, s.sp_skills, s.ij, s.cp, s.td, s.in, s.cs, s.vp, s.sp, s.cost, t.coach, t.rasse, t.t_name, t.rerolls, t.id as t_id, t.RR_cost, t.assistantcoaches, t.cheerleaders, t.apotheker, t.teamwizard, t.teamrating, t.treasury, t.tcot, t.fanfactor FROM Spieler s, Team t WHERE s.team='$t_name' AND t.t_name='$t_name' ORDER BY nummer ASC";
$ergebnis = mysql_query($abfrage);
if (!$ergebnis) {
$message = 'query Fehler: ' . mysql_error() . "\n";
$message .= 'query Befehl: ' . $abfrage;
die($message);
}
$result_cnt = mysql_num_rows($ergebnis);
|
Damit bekomme ich ein komplett leeres Fenster als Output... das kann ja kaum so gewollt sein, oder? 😉 Kann das was mit PHP-Versionen zu tun haben? Ich erinnere mich auf dem alten Server PHP4 laufen gehabt zu haben, aktuell PHP5...
|
Bleys
Anmeldungsdatum: 13. August 2006
Beiträge: 6172
|
Dann würde ich mal sagen er kommt gar nicht bis zum Query. Das include gehört übrigens noch in eine neue Zeile.
Setze mal zu Beginn jeder Seite die involviert ist eine Ausgabe: | echo '<pre>';
print_r($_REQUEST);
print_r($_SESSION);
echo '</pre>';
die('<scriptname>');
|
in jedem Script das fehlerfrei durchläuft den Bereich auskommentieren.
|
thom_raindog
(Themenstarter)
Anmeldungsdatum: 20. Mai 2005
Beiträge: 2848
|
Als Ergebniss kam:
Array
(
[t_name] => Windblown
[phpbb3_apth2_u] => 64
[phpbb3_apth2_k] =>
[phpbb3_apth2_sid] => 60ba627db652b5514832adc4e4cd8602
)
raus. Ich hab jetzt mal noch
| $t_name = $_GET['t_name'];
|
eingebaut, weil mein Provider (ein Kollege von mir) meinte das wäre mittlerweile aus Sicherheitsgründen nötig. Damit kommt $t_name als Übergabe aus der Seite vorher wenigstens an, Ergebnisse bekomme ich aber immer noch keine rein...
|
Bleys
Anmeldungsdatum: 13. August 2006
Beiträge: 6172
|
Hol Dir die Ausgabe in ein Array, z.B. mit mysql_fetch_assoc und gebe es aus. Es wird hier schwierig bis unmöglich zu helfen ohne die vollständigen PHP Scripte zu kennen. Du solltest Dir jemanden z.B. per Teamviewer und Skype dazu holen der sich mit php auskennt.
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
Bleys schrieb: Du solltest Dir jemanden z.B. per Teamviewer und Skype dazu holen der sich mit php auskennt.
Er sollte sich überhaupt jemanden oragnisieren, der das für ihn erledigt. Die Fragmente an sich sehen ja schon gruselig aus - und wenn dann noch jemand ohne Ahnung daran herumfrickelt, kann es nur noch schlimmer werden... Diese Mischung aus Code und Entwickler sind genau das, was PHP zu einem schlechten Ruf verhilft 😉
|
thom_raindog
(Themenstarter)
Anmeldungsdatum: 20. Mai 2005
Beiträge: 2848
|
Puuuh... also werd ich es wohl bis auf weiteres als unfertiges Projekt liegen lassen bis ich an jemanden komme der mit mir die Sache "bereinigt"... Hmmtja. In jedem Fall danke an euch ☺
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
thom_raindog schrieb: Puuuh... also werd ich es wohl bis auf weiteres als unfertiges Projekt liegen lassen bis ich an jemanden komme der mit mir die Sache "bereinigt"... Hmmtja. In jedem Fall danke an euch ☺
Glaub mir, alleine aus Sicherheitsgründen ist Dir das schon zu empfehlen! Worum genau ging es denn? Evtl. gibt es ja auch schon fertige Lösungen? (die man ggf. noch ein wenig anpassen muss)
|
q-rios
Anmeldungsdatum: 28. Juni 2007
Beiträge: 260
|
Lysander schrieb: thom_raindog schrieb: Puuuh... also werd ich es wohl bis auf weiteres als unfertiges Projekt liegen lassen bis ich an jemanden komme der mit mir die Sache "bereinigt"... Hmmtja. In jedem Fall danke an euch ☺
Glaub mir, alleine aus Sicherheitsgründen ist Dir das schon zu empfehlen! Worum genau ging es denn? Evtl. gibt es ja auch schon fertige Lösungen? (die man ggf. noch ein wenig anpassen muss)
So wie das Query aussieht, wirds ein Browsergame sein oder irgendwas zum Teamsverwalten
|