$sqlCoins = "SELECT coins FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";
$sqlCoinsb = mysql_query("SELECT coins FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1");
$qryCoins = mysql_query($sqlCoins,$sqlServ);
$getCoins = mysql_fetch_object($qryCoins);
$username = mysql_query("SELECT (`login`) FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1");
$getusername = mysql_fetch_array($username);
$cccc = mysql_query("SELECT (`times`) as amount FROM account.vote WHERE account='".mysql_fetch_array($username)."' LIMIT 1");
list($DeinErgebniss) = mysql_fetch_array($cccc);
if ($DeinErgebniss >= 16) {
$xxx = mysql_query("UPDATE account.account SET status = 'BLOCK' WHERE login='$account'");
$xxxx = mysql_query("UPDATE account.account SET coins = '0' WHERE login='$account'");
header("Location: http://***/bug.html");
$sqlCmd="UPDATE account.account SET coins='".mysql_real_escape_string($nCoins)."' WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";
$sqlQry=mysql_query($sqlCmd,$sqlServ);
$sqlLog="INSERT INTO ".SQL_HP_DB.".is_log (account_id,vnum,preis,zeitpunkt) VALUES ('".mysql_real_escape_string($_SESSION['user_id'])."','".$getItem->vnum."','".$getItem->preis."','".$sqlZeit."')";
$qryLog=mysql_query($sqlLog,$sqlHp);
Ich kann dir leider jetzt Pauschal auch nicht helfen allerdings könntest du anfangen die einzelnen Werte zu debuggen (var_dump($variable);die() schau dir an was dort drinnen steht eventuell findest du selbst den Fehler )
$sqlCoins = "SELECT coins FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";
$sqlCoinsb = mysql_query("SELECT coins FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1"); $qryCoins = mysql_query($sqlCoins,$sqlServ); $getCoins = mysql_fetch_object($qryCoins); $username = mysql_query("SELECT (`login`) as string FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1"); $getusername = mysql_fetch_object($username); $cccc = mysql_query("SELECT (`times`) as amount FROM account.vote WHERE account='$getusername'");
list($DeinErgebniss) = mysql_fetch_array($cccc); if ($DeinErgebniss >= 16) {
$xxx = mysql_query("UPDATE account.account SET status = 'BLOCK' WHERE login='$account'"); $xxxx = mysql_query("UPDATE account.account SET coins = '0' WHERE login='$account'"); header("Location: http://***/bug.html");
$sqlCmd="UPDATE account.account SET coins='".mysql_real_escape_string($nCoins)."' WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1"; $sqlQry=mysql_query($sqlCmd,$sqlServ);
$sqlLog="INSERT INTO ".SQL_HP_DB.".is_log (account_id,vnum,preis,zeitpunkt) VALUES ('".mysql_real_escape_string($_SESSION['user_id'])."','".$getItem->vnum."','".$getItem->preis."','".$sqlZeit."')"; $qryLog=mysql_query($sqlLog,$sqlHp);
$sqlCoins = "SELECT coins FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";
$sqlCoinsb = mysql_query("SELECT coins FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1");
$qryCoins = mysql_query($sqlCoins,$sqlServ);
$getCoins = mysql_fetch_object($qryCoins);
$username = mysql_query("SELECT (`login`) as string FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1");
$getusername = mysql_fetch_object($username);
$cccc = mysql_query("SELECT (`times`) as amount FROM account.vote WHERE account='$getusername'");
list($DeinErgebniss) = mysql_fetch_array($cccc);
if ($DeinErgebniss >= 16) {
$xxx = mysql_query("UPDATE account.account SET status = 'BLOCK' WHERE login='$account'");
$xxxx = mysql_query("UPDATE account.account SET coins = '0' WHERE login='$account'");
header("Location: http://***/bug.html");
$sqlCmd="UPDATE account.account SET coins='".mysql_real_escape_string($nCoins)."' WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";
$sqlQry=mysql_query($sqlCmd,$sqlServ);
$sqlLog="INSERT INTO ".SQL_HP_DB.".is_log (account_id,vnum,preis,zeitpunkt) VALUES ('".mysql_real_escape_string($_SESSION['user_id'])."','".$getItem->vnum."','".$getItem->preis."','".$sqlZeit."')";
$qryLog=mysql_query($sqlLog,$sqlHp);
echo'<p class="meldung">Das item wurde erfolgreich gekauft. Sollte das Item nicht im Lager erscheinen, bitte umgehend bei einem Admin melden.</p>';
}
else {
echo'<p>Sie haben nicht genügend Platz in ihrem Itemshop-Lager. Ihr Guthaben wurde nicht verändert.</p>';
}
}
else {
echo'<p class="meldung">Sie haben nicht genug Coins.</p>';
}
}
else
{
echo'<p class="meldung">Es kann nur alle 5 Sekunden ein Item gekauft werden.</p>';
}
}
}
else {
echo'<p class="meldung">Das angegebe Item existiert nicht.</p>';
}
}
else {
echo'<p class="meldung">Es wurde keine gültige ID eingegeben.</p>';
}
echo'<p><a href="javascript:history.back()">zurück</a></p>';
}
else {
echo'<p class="meldung">Sie müssen für diesen Bereich angemeldet sein.</p>';
}
?>
</div>
<div class="con_bot"></div>
Ich hab nun nicht soviel Zeit, zumal dein Code auch ziemlich schlecht lesbar ist. Ich würde dir einfach raten das ganze zu debuggen, also entweder über Ausgaben via var_dump() an der betroffenen Stelle oder - sofern vorhanden - über einen richtigen Debugger über deine Entwicklungsumgebung.
Generell wirkt das auf den ersten Blick alles etwas unübersichtlich. Man kann und darf beispielsweise MySQL-Queries auch auf mehrere Zeilen verteilen, sodass man diese hinterher sogar noch lesen kann. Außerdem scheinen dort ein paar redundante Schritte enthalten zu sein.
PHP Code:
$sqlCoins = "SELECT coins FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";
$sqlCoinsb = mysql_query("SELECT coins FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1");
$qryCoins = mysql_query($sqlCoins,$sqlServ);
$getCoins = mysql_fetch_object($qryCoins);
$username = mysql_query("SELECT (`login`) as string FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1");
$getusername = mysql_fetch_object($username);;
Hier führst du zum Beispiel zwei Abfragen aus, um Werte aus derselben Reihe der account-Tabelle zu lesen. Das ist total ineffizient, dafür solltest du nur eine Abfrage verwenden, also sowas wie:
PHP Code:
$queryres = mysql_query("
SELECT login, coins
FROM account.account
WHERE id='" . mysql_real_escape_string($_SESSION['user_id']) . "'
LIMIT 1
", $sqlHp);
Ich würde ebenfalls auf die Verwendung von Variablen für Query-Strings verzichten, wenn du diese ohnehin nur ein einziges mal verwendest. Wenn du dann noch ordentlich einrückst, hier und da ein paar mehr Leerzeichen und Kommentare hinterlässt, wird dein Code sehr viel besser lesbar und damit tust du nicht nur all denjenigen einen Gefallen, die deinen Code lesen, sondern vor allem dir selbst (wenn du das ganze in ein paar Wochen/Monaten nachvollziehen willst/musst).
Die Zeile 40 wäre ganz interessant.
Ohne diese zu kennen: grob geschaut liegt dieser Fehler möglicherweise darin, dass die Query false zurückggibt, was du als Object verarbeiten willst -> Meep.
Poste bitte einmal deine Zeile 40.
Ps: Ich hoffe, deine Sessions sind durch Sicherheitsmechanismen abgesichert
Ps: Bezüglich MySQL-Injections, wenn du Zeit hast: mysqli
Eigentlich ist die Fehlermeldung recht eindeutig, wenn du dir die Zeile anschaust - iMarkt hat es bereits angedeutet. Du lässt dir via mysql_fetch_object() die gefundene Reihe in der account-Tabelle als Standardobjekt zurückgeben, also als eine Instanz der Klasse stdClass.
PHP Code:
"SELECT (`times`) as amount FROM account.vote WHERE account='$getusername'"
Hier sagst du deinem PHP-Interpreter, dass dieser doch bitte jenes Objekt in einen String einfügen soll - dazu muss das Objekt aber zunächst in einen String umgewandelt werden. Da es sich bei dem Objekt aber um einen komplexen Datentyp handelt, kann dein PHP-Interpreter nicht ohne weiteres wissen, wie genau eine sinnvolle String-Representation davon aussehen soll, weshalb eine implizite Umwandlung nicht möglich ist.
Ohne diese Umwandlung kann die Anweisung aber nicht ausgeführt werden, daher wird das Script dort mit einer Fehlermeldung gestoppt.
Die Lösung dafür ist recht simpel:
Du musst dir bewusst sein, was $getusername eigentlich ist (nämlich ein Objekt der Klasse stdClass) und es auch als solches behandeln.
Also:
PHP Code:
$cccc = mysql_query("SELECT (`times`) as amount FROM account.vote WHERE account='{$getusername->string}'");
Wobei ich generell eher die Reihen als ausgeben würde, das ist in der Handhabung etwas bequemer als ein Standardobjekt.
WICHTIG! PhP Script funktioniert nicht!! 01/22/2013 - Web Development - 6 Replies Hi comm, weis einer wo hier der Fehler ist?
$query = mysql_query("SELECT *, SUM(`times`) as amount FROM vote WHERE account='$account' OR ip='$ip'");
$cccc = mysql_query("SELECT (`times`) FROM vote WHERE account='$account' OR ip='$ip'");
$lasttime = mysql_fetch_array($query);
$amount = $lasttime;
$insertnew = false;
if ($amount == "") {
Script Funktioniert nicht warum ??? 08/28/2011 - AutoIt - 0 Replies Hallo Leute
wie die überschrift schon sagt
Funktioniert mein Script nicht
ich habe das script mal hier eingefügt
Es soll für Inkball sein (Ich weis das ist kein richtiges spiel aber egal das soll nur zur übung sein)
ich habe die pointer mit cheat engine gefunden per pointerscan
Vote4Coins Script funktioniert nicht. 07/19/2011 - Metin2 Private Server - 2 Replies Moin,
Mein Vote4Coins Script funktioniert nicht ganz :-(
<div id="content"> <div class="postui2 text-title">
<h2>
Vote
</h2>
</div>
v15 Ranking script funktioniert nicht 06/17/2011 - Flyff Private Server - 5 Replies Hi leute habe mal das ranking script von dem Theard homepage tools genommen doch als ich alles konfiguiert habe kommt nur configuration incorecta... was kann ich da tun leigt dass am script??
[Help] AutoIt 3 Script funktioniert nicht 02/15/2010 - AutoIt - 5 Replies hi,
habe ein Script geschrieben, aber irgendwie beendet sich das immer von selbst.
Script:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>