PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL Fehler !Hilfe!



Digifree
05.05.2009, 20:50
Hi Leute erstmal sry das ich in den Injektion Thread poste aber ich hab nix anderes Gefunden :o

So mein problem ist folgendes Ich hab mir eine "Meine EX .... " Seite gezogen und es geht auch alles so halbwegs nur es scheint als hätte ich einen Fehler in der MySQL oder liegt das an Ohost.de -- Ist nur ein Test auf Ohost --

Fehlermeldung


Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/export/www/hosting/----/E-X1/index.php on line 11

Und das ist aus meiner index.php

<?php
ob_start();
session_start();

include("config.inc.php");

srand((double)microtime()* 10000);
$sid = session_id();
$ip = $_SERVER["REMOTE_ADDR"];

$data = mysql_fetch_assoc ($result);
$result = mysql_query("SELECT `id`, `IP`, `SID` FROM `fotoklicks_uid` WHERE `SID` = '".$sid."' AND `IP` = '".$ip."';");


{
$id = rand(1000, 99999999);
mysql_query("INSERT INTO `fotoklicks_uid` (`id`, `IP`, `SID`) VALUES ('".$id."', '".$ip."', '".$sid."');");
}
{
$id = $data["id"];
$sid = $data["SID"];
}

if(!empty($_GET["id"]))
{
$result2 = mysql_query("SELECT * FROM `fotoklicks_sperre` WHERE `IP` = '".$ip."';");
$data2 = mysql_fetch_assoc($result2);
if($data2["IP"] != $ip)
{
mysql_query("INSERT INTO `fotoklicks_sperre` (`uid`, `IP`, `UAgent`, `time`) VALUES ('".mysql_real_escape_string($_GET["id"])."', '".$ip."', '".$_SERVER["HTTP_USER_AGENT"]."', UNIX_TIMESTAMP());");
}
}

Ich hoffe Ihr könnt mir da helfen, Danke

fred777
05.05.2009, 21:06
Was meinst du mit gezogen, also kopiert und nachgebaut oder was?
Ansonsten musst du natürlich auch deine Datenbank modifizieren
siehst ja am INSERT und SELECT FROM

ansonsten sorry wenn ich dich falsch verstanden habe

Digifree
05.05.2009, 21:11
Ne das war ein Pack. Hab die SQL Importiert und an sich geht auch alles bis auf denn Fehler in Zeile 11 bzw 12, wenn du willst mach ich dir schnell ein reupp

hpoc
05.05.2009, 22:11
$data = mysql_fetch_assoc ($result);
$result = mysql_query("SELECT `id`, `IP`, `SID` FROM `fotoklicks_uid` WHERE `SID` = '".$sid."' AND `IP` = '".$ip."';");Fällt dir da nichts auf?
Du willst die Daten die von deinem MYSQL-Query bekommst holen, bevor du das MYSQL-Query überhaupt absendest.

Digifree
05.05.2009, 22:54
Dazu kann ich nur sage XD aber nunja ich hab keinen plan von MySQL wie wäre es den Richtig.

- - - Help a Noob - - -

Danke im vorraus

hpoc
05.05.2009, 22:56
$result = mysql_query("SELECT `id`, `IP`, `SID` FROM `fotoklicks_uid` WHERE `SID` = '".$sid."' AND `IP` = '".$ip."';");
$data = mysql_fetch_assoc ($result);

naroht
05.05.2009, 22:56
$result = mysql_query("SELECT `id`, `IP`, `SID` FROM `fotoklicks_uid` WHERE `SID` = '".$sid."' AND `IP` = '".$ip."';");
$data = mysql_fetch_assoc ($result);


erst 1 dann 2 :p

//update: da war wohl jemand schneller :(

VeN0m
05.05.2009, 22:58
Fällt dir da nichts auf?
Du willst die Daten die von deinem MYSQL-Query bekommst holen, bevor du das MYSQL-Query überhaupt absendest.


Das heißt so viel wie: Wenn in Zeile 11 versucht wird auf eine Variable zuzugreifen, die erst in Zeile 12 definiert wird wird selbstverständlich ein Fehler ausgeworfen.
Richtig wäre es so:



$result = mysql_query("SELECT `id`, `IP`, `SID` FROM `fotoklicks_uid` WHERE `SID` = '".$sid."' AND `IP` = '".$ip."';");
$data = mysql_fetch_assoc ($result);


Obwohl mich dort das Semikolon hinter "' noch stört


'".$ip."';");

Ich fände


'".$ip."'");

logischer und korrekter.

Ganzer Code korrigiert:




<?php
ob_start();
session_start();

include("config.inc.php");

srand((double)microtime()* 10000);
$sid = session_id();
$ip = $_SERVER["REMOTE_ADDR"];

$result = mysql_query("SELECT `id`, `IP`, `SID` FROM `fotoklicks_uid` WHERE `SID` = '".$sid."' AND `IP` = '".$ip."'");
$data = mysql_fetch_assoc ($result);


{
$id = rand(1000, 99999999);
mysql_query("INSERT INTO `fotoklicks_uid` (`id`, `IP`, `SID`) VALUES ('".$id."', '".$ip."', '".$sid."');");
}
{
$id = $data["id"];
$sid = $data["SID"];
}

if(!empty($_GET["id"]))
{
$result2 = mysql_query("SELECT * FROM `fotoklicks_sperre` WHERE `IP` = '".$ip."'");
$data2 = mysql_fetch_assoc($result2);
if($data2["IP"] != $ip)
{
mysql_query("INSERT INTO `fotoklicks_sperre` (`uid`, `IP`, `UAgent`, `time`) VALUES ('".mysql_real_escape_string($_GET["id"])."', '".$ip."', '".$_SERVER["HTTP_USER_AGENT"]."', UNIX_TIMESTAMP());");
}
}



Ich hoffe mal ich habe mit meiner Müdigkeit dennoch alle Fehler erwischt. Wenn nicht ist es sicher wieder sowas.
Viel Spaß

EDIT: Menno ^^

Digifree
05.05.2009, 22:59
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/export/www/hosting/digifree/E-X1/index.php on line 12

Satz mit X war wohl nix

Jetzt sitzt der Fehler halt ne Zeile Tiefer ^^

VeN0m
05.05.2009, 23:01
Dann ist der Fehler das Semikolon, was mich gestört hatte. Denke ich mal jedenfalls...
Versuch mal den von mir korrigierten Code oder entferne das Semikolon einfach.

Digifree
05.05.2009, 23:03
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/export/www/hosting/digifree/E-X1/index.php on line 12
Immernoch ich glaub der mag mich nur net ^^.

hpoc
05.05.2009, 23:03
Abgesehen von diesen Semikolons, ist der Source Code so oder so einfach nur schrecklich.

Digifree
05.05.2009, 23:07
Hier mal der ganze Code bzw die ganzen Codes

Config.inc.php

?php

// Datenbank Konfiguration

$db_host = "localhost"; // SQL Datenbank Host (Standard localhost)
$db_user = "MeinPW"; // SQL Datenbank User
$db_pass = "MeinPW"; // SQL Datenbank Passwort
$db_name = "MeineDB"; // SQL Datenbank Name

// Allgemeine Script Konfiguration

$url = "Meine URL"; // URL zum Script

// Bilder Konfiguration

$foto1 = "2n46j6";
$foto2 = "3koio7";
$foto3 = "3lpuxx";
$foto4 = "8jwj3b";
$foto5 = "9ezs4u";
$foto6 = "24in0l";
$foto7 = "53obu3";
$foto8 = "71xx7y";
$foto9 = "89k3d2";
$foto10 = "7828wd";
$foto11 = "ap4jd6";
$foto12 = "bzgrzf";
$foto13 = "dyc332";
$foto14 = "ngycfz";
$foto15 = "rb52iw";
$foto16 = "lqgxpb";
$foto17 = "6vsswa";

mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name);
?>Index.php

<?php
ob_start();
session_start();

include("config.inc.php");

srand((double)microtime()* 10000);
$sid = session_id();
$ip = $_SERVER["REMOTE_ADDR"];

$result = mysql_query("SELECT `id`, `IP`, `SID` FROM `fotoklicks_uid` WHERE `SID` = '".$sid."' AND `IP` = '".$ip."'");
$data = mysql_fetch_assoc ($result);

{
$id = rand(1000, 99999999);
mysql_query("INSERT INTO `fotoklicks_uid` (`id`, `IP`, `SID`) VALUES ('".$id."', '".$ip."', '".$sid."');");
}
{
$id = $data["id"];
$sid = $data["SID"];
}

if(!empty($_GET["id"]))
{
$result2 = mysql_query("SELECT * FROM `fotoklicks_sperre` WHERE `IP` = '".$ip."';");
$data2 = mysql_fetch_assoc($result2);
if($data2["IP"] != $ip)
{
mysql_query("INSERT INTO `fotoklicks_sperre` (`uid`, `IP`, `UAgent`, `time`) VALUES ('".mysql_real_escape_string($_GET["id"])."', '".$ip."', '".$_SERVER["HTTP_USER_AGENT"]."', UNIX_TIMESTAMP());");
}
}

$pic_pfad1 = "pics/frage.jpg";
$pic_pfad2 = "pics/frage.jpg";
$pic_pfad3 = "pics/frage.jpg";
$pic_pfad4 = "pics/frage.jpg";
$pic_pfad5 = "pics/frage.jpg";
$pic_pfad6 = "pics/frage.jpg";
$pic_pfad7 = "pics/frage.jpg";
$pic_pfad8 = "pics/frage.jpg";
$pic_pfad9 = "pics/frage.jpg";
$pic_pfad10 = "pics/frage.jpg";
$pic_pfad11 = "pics/frage.jpg";
$pic_pfad12 = "pics/frage.jpg";
$pic_pfad13 = "pics/frage.jpg";
$pic_pfad14 = "pics/frage.jpg";
$pic_pfad15 = "pics/frage.jpg";
$pic_pfad16 = "pics/frage.jpg";
$pic_pfad17 = "pics/frage.jpg";
?>
<html>
<head>
<title>Meine Ex - diese Schlampe...!!!</title>
<script language="JavaScript">
function vorgeschichte() {
var bla = document.getElementById('txt');
if(txt.style.display == 'none') {
txt.style.display = '';
} else {
txt.style.display = 'none';
}
}

var preCache = new Image()
preCache.src = "pics/frage.jpg";
</script>
<meta http-equiv="expires" content="never">
</head>
<body background="pics/bg.jpg">
<center>
<font size="2" face="Verdana">
<font size="5"><B>Irgend eine Ex - Eine Schlampe - Entscheidet selbst</B></font><BR><BR>

<a href="#" onClick="JavaScript:vorgeschichte();"><U><B>Weitere Seiten</B></U></a><BR>
<span id="txt" style="display: none;"><BR>
Ein Freund von mir war so nett, und hat mir die Fotos zusammengesucht ...<BR></span><BR>

Ich hoffe ihr vertraut mir, dass dies hier keine Verarsche ist :) Versuchts heraus zu finden, indem ihr den Link unten kopiert,
und dann ihn eurem Browser eingibt. F&uuml;r die restlichen Bilder m&uuml;sst ihr mir schon den gefallen tun,
und diesen Link an Freunde schicken, damit m&ouml;glichst viele diese Schlampe sehen.
<BR><BR>
Um euch zu motivieren und schmackhaft zu machen hier 3 Bilder von ihr:<BR>
<TABLE width="100%" border="0" align="center">
<TR>
<TD align="center"><a href="pics/1.jpg" target="_blank"><img src="pics/1.jpg" width="300" border="0"></a></TD>
<TD align="center"><a href="pics/2.jpg" target="_blank"><img src="pics/2.jpg" width="300" border="0"></a></TD>
<TD align="center"><a href="pics/3.jpg" target="_blank"><img src="pics/3.jpg" width="300" border="0"></a></TD>
</TR>
</TABLE>

<TABLE width="50%" border="0" align="center">
<TR>
<TD align="center"><font size="2" face="Verdana">
<?php
if($data["IP"] == $ip && $data["SID"] == $sid)
{
$AnzahlSQL = "SELECT COUNT(*) as AnzahlKlicks FROM `fotoklicks_sperre` WHERE `uid` = '".mysql_real_escape_string($id)."';";
$Anzahlresult = mysql_query($AnzahlSQL) OR die(mysql_error());
$Anzahldata = mysql_fetch_assoc($Anzahlresult);

if($Anzahldata["AnzahlKlicks"] >= 1)
$pic_pfad1 = "pic.php?id=1";

if($Anzahldata["AnzahlKlicks"] >= 2)
$pic_pfad2 = "pic.php?id=2";

if($Anzahldata["AnzahlKlicks"] >= 4)
$pic_pfad3 = "pic.php?id=3";

if($Anzahldata["AnzahlKlicks"] >= 6)
$pic_pfad4 = "pic.php?id=4";

if($Anzahldata["AnzahlKlicks"] >= 8)
{
$pic_pfad5 = "pic.php?id=5";
$pic_pfad6 = "pic.php?id=6";
$pic_pfad7 = "pic.php?id=7";
$pic_pfad8 = "pic.php?id=8";
$pic_pfad9 = "pic.php?id=9";
}

if($Anzahldata["AnzahlKlicks"] >= 12)
{
$pic_pfad10 = "pic.php?id=10";
$pic_pfad11 = "pic.php?id=11";
$pic_pfad12 = "pic.php?id=12";
$pic_pfad13 = "pic.php?id=13";
$pic_pfad14 = "pic.php?id=14";
$pic_pfad15 = "pic.php?id=15";
$pic_pfad16 = "pic.php?id=16";
$pic_pfad17 = "pic.php?id=17";
}
}
else
{
$Anzahldata["AnzahlKlicks"] = 0;
}
?>
Bisher haben<BR>
<font size="4" color="red"><B><?php echo $Anzahldata["AnzahlKlicks"]; ?></B></font><BR>
Leute dein Link angeklickt.</font>
</TD>
<TD align="left" width="40%"><font size="2" face="Verdana">
<ul>
<li><U>1. Foto</U>: 1. Person</li>
<li><U>2. Foto</U>: 2. Personen</li>
<li><U>3. Foto</U>: 4. Personen</li>
<li><U>4. Foto</U>: 6. Personen</li>
<li><U>5 weitere</U>: 8. Personen</li>
<li><U>8 weitere</U>: 12. Personen</li>
</ul></font>
</TD>
</TR>
</TABLE>
<B>Dein Link:</B><BR>
<input type="text" name="link" size="55" value="<?php echo $url; ?>?id=<?php echo $id; ?>"><BR><BR>
<BR>

<TABLE width="100%" border="0" align="center">
<TR>
<TD align="center">
<B>Bild Nr. 1:</B><BR>
<a href="<?php echo $pic_pfad1; ?>" target="_blank"><img src="<?php echo $pic_pfad1; ?>" width="250" border="0"></a><BR><BR>
</TD>
<TD align="center">
<B>Bild Nr. 2:</B><BR>
<a href="<?php echo $pic_pfad2; ?>" target="_blank"><img src="<?php echo $pic_pfad2; ?>" width="250" border="0"></a><BR><BR>
</TD>
</TR>
<TR>
<TD align="center">
<B>Bild Nr. 3:</B><BR>
<a href="<?php echo $pic_pfad3; ?>" target="_blank"><img src="<?php echo $pic_pfad3; ?>" width="250" border="0"></a><BR><BR>
</TD>
<TD align="center">
<B>Bild Nr. 4:</B><BR>
<a href="<?php echo $pic_pfad4; ?>" target="_blank"><img src="<?php echo $pic_pfad4; ?>" width="250" border="0"></a><BR><BR>
</TD>
</TR>
</TABLE><hr noshade><BR>
<TABLE width="100%" border="0" align="center">
<TR>
<TD align="center">
<B>Bild Nr. 5:</B><BR>
<a href="<?php echo $pic_pfad5; ?>" target="_blank"><img src="<?php echo $pic_pfad5; ?>" width="250" border="0"></a><BR><BR>
</TD>
<TD align="center">
<B>Bild Nr. 6:</B><BR>
<a href="<?php echo $pic_pfad6; ?>" target="_blank"><img src="<?php echo $pic_pfad6; ?>" width="250" border="0"></a><BR><BR>
</TD>
</TR>
<TR>
<TD align="center">
<B>Bild Nr. 7:</B><BR>
<a href="<?php echo $pic_pfad7; ?>" target="_blank"><img src="<?php echo $pic_pfad7; ?>" width="250" border="0"></a><BR><BR>
</TD>
<TD align="center">
<B>Bild Nr. 8:</B><BR>
<a href="<?php echo $pic_pfad8; ?>" target="_blank"><img src="<?php echo $pic_pfad8; ?>" width="250" border="0"></a><BR><BR>
</TD>
</TR>
<TR>
<TD align="center">
<B>Bild Nr. 9:</B><BR>
<a href="<?php echo $pic_pfad9; ?>" target="_blank"><img src="<?php echo $pic_pfad9; ?>" width="250" border="0"></a><BR><BR>
</TD>
<TD align="center">&nbsp;</TD>
</TR>
</TABLE><hr noshade><BR>
<TABLE width="100%" border="0" align="center">
<TR>
<TD align="center">
<B>Bild Nr. 10:</B><BR>
<a href="<?php echo $pic_pfad10; ?>" target="_blank"><img src="<?php echo $pic_pfad10; ?>" width="250" border="0"></a><BR><BR>
</TD>
<TD align="center">
<B>Bild Nr. 11:</B><BR>
<a href="<?php echo $pic_pfad11; ?>" target="_blank"><img src="<?php echo $pic_pfad11; ?>" width="250" border="0"></a><BR><BR>
</TD>
</TR>
<TR>
<TD align="center">
<B>Bild Nr. 12:</B><BR>
<a href="<?php echo $pic_pfad12; ?>" target="_blank"><img src="<?php echo $pic_pfad12; ?>" width="250" border="0"></a><BR><BR>
</TD>
<TD align="center">
<B>Bild Nr. 13:</B><BR>
<a href="<?php echo $pic_pfad13; ?>" target="_blank"><img src="<?php echo $pic_pfad13; ?>" width="250" border="0"></a><BR><BR>
</TD>
</TR>
<TR>
<TD align="center">
<B>Bild Nr. 14:</B><BR>
<a href="<?php echo $pic_pfad14; ?>" target="_blank"><img src="<?php echo $pic_pfad14; ?>" width="250" border="0"></a><BR><BR>
</TD>
<TD align="center">
<B>Bild Nr. 15:</B><BR>
<a href="<?php echo $pic_pfad15; ?>" target="_blank"><img src="<?php echo $pic_pfad15; ?>" width="250" border="0"></a><BR><BR>
</TD>
</TR>
<TR>
<TD align="center">
<B>Bild Nr. 16:</B><BR>
<a href="<?php echo $pic_pfad16; ?>" target="_blank"><img src="<?php echo $pic_pfad16; ?>" width="250" border="0"></a><BR><BR>
</TD>
<TD align="center">
<B>Bild Nr. 17:</B><BR>
<a href="<?php echo $pic_pfad17; ?>" target="_blank"><img src="<?php echo $pic_pfad17; ?>" width="250" border="0"></a><BR><BR>
</TD>
</TR>
</TABLE>
</center>
</body>
Pic.php

<?php
session_start();
header('Content-Type: image/jpeg');
header('Content-Type: image/gif');

include("config.inc.php");

$sid = session_id();
$ip = $_SERVER["REMOTE_ADDR"];

$result = mysql_query("SELECT `id`, `IP`, `SID` FROM `fotoklicks_uid` WHERE `SID` = '".$sid."' AND `IP` = '".$ip."';");
$data = mysql_fetch_assoc($result);

if(mysql_num_rows($result) > 0)
{
$id = $data["id"];
$sid = $data["SID"];
}

if($data["IP"] == $ip && $data["SID"] == $sid)
{
$AnzahlSQL = "SELECT COUNT(*) as AnzahlKlicks FROM `fotoklicks_sperre` WHERE `uid` = '".mysql_real_escape_string($id)."';";
$Anzahlresult = mysql_query($AnzahlSQL) OR die(mysql_error());
$Anzahldata = mysql_fetch_assoc($Anzahlresult);

if($Anzahldata["AnzahlKlicks"] >= 1 && $_GET['id'] == 1)
$id = $foto1;

if($Anzahldata["AnzahlKlicks"] >= 2 && $_GET['id'] == 2)
$id = $foto2;

if($Anzahldata["AnzahlKlicks"] >= 4 && $_GET['id'] == 3)
$id = $foto3;

if($Anzahldata["AnzahlKlicks"] >= 6 && $_GET['id'] == 4)
$id = $foto4;

if($Anzahldata["AnzahlKlicks"] >= 8 && $_GET['id'] >= 5 && $_GET['id'] <= 9)
{
switch($_GET["id"])
{
case 5: $id = $foto5; break;
case 6: $id = $foto6; break;
case 7: $id = $foto7; break;
case 8: $id = $foto8; break;
case 9: $id = $foto9; break;
}
}

if($Anzahldata["AnzahlKlicks"] >= 12 && $_GET['id'] >= 10 && $_GET['id'] <= 17)
{
switch($_GET["id"])
{
case 10: $id = $foto10; break;
case 11: $id = $foto11; break;
case 12: $id = $foto12; break;
case 13: $id = $foto13; break;
case 14: $id = $foto14; break;
case 15: $id = $foto15; break;
case 16: $id = $foto16; break;
case 17: $id = $foto17; break;
}
}
}


$fp = fopen("pics/3/".$id.".jpg", "r");
echo fread($fp, filesize("pics/3/".$id.".jpg"));
?>


Und nein die Codes sind nicht von mir ich Code Überischtlich mit beschreibung das man sich später noch zurechtfindet ^^

VeN0m
05.05.2009, 23:07
@hpoc: Jop... Von der Variablennennung bis zur Aufteilung über den Sinn des Queries ist alles Müll. Wieso wird "SID" sowohl abgefragt als auch als Bedingung genannt? Naja wird schon einen Sinn haben... Wenn ich ihn auch nicht ganz nachvollziehen kann / will.



$result = mysql_query("SELECT id, IP, SID FROM `fotoklicks_uid` WHERE `fotoklicks_uid`.`SID` = '".$sid."' AND `fotoklicks_uin`.`IP` = '".$ip."'");
$data = mysql_fetch_assoc($result);


Würde ich jetzt mal sagen...

EDIT: Alles korrigieren tue ich jetzt aber sicher nicht (müde ^^). Die anderen mit Sicherheit auch nicht (ist ja schon spät bzw. früh)... Ich denke der Fehler lag in diesem katastrophalen Query.
Bzw.: Die Codes sind alle irgendwie nicht soooo der Bringer. Keinerlei Aufteilung, Kommentare fehlen (ist bei Scripten, die veröffentlicht werden ganz nützlich zum nachvollziehen)... Naja aber wir sind ja nicht hier, um über den Code zu meckern ^^.

Grim-Reaper
05.05.2009, 23:08
Abgesehen von diesen Semikolons, ist der Source Code so oder so einfach nur schrecklich.

Da muss ich dir zustimmen. Werd mir morgen den Code mal genauer anschauen.

Digifree
05.05.2009, 23:15
Ein ganz neuer Code wäre natürlich auch schön.

Danke schonmal an alle für Ihre mitarbeit.

hpoc
05.05.2009, 23:16
Ich hab mir den Source Code auch nicht sonderlich gut angschaut.
Das ist mir halt auf die schnelle aufgefallen, aber wenn ich den Source Code da oben anschauen krieg ich so oder gleich Brechreitz.

Digifree
06.05.2009, 21:00
und wie sieht es aus schon ein bischen Verbesserunge angedacht?