neuling am werk, problem mit werte in datenbank updaten

tom_d20

Grünschnabel
hier der code:

<?php


// VERBINDUNG DB GOLD


$link9 = mysql_connect('localhost', 'root', '');
if (!$link9) {
die('Keine Verbindung möglich: ' . mysql_error());
}
$result9 = mysql_query('SELECT gold FROM quarkx.login');
if (!$result9) {
die('Abfrage fehlgeschlagen:' . mysql_error());
}

$gold1 = mysql_result($result9,0);




// VERBINDUNG DB USER

$link8 = mysql_connect('localhost', 'root', '');
if (!$link8) {
die('Keine Verbindung möglich: ' . mysql_error());
}
$result8 = mysql_query('SELECT user FROM quarkx.login');
if (!$result8) {
die('Abfrage fehlgeschlagen:' . mysql_error());
}

$user = mysql_result($result8,0);








echo "Hallo $user nun wird heiss du spielst mit dem Feuer!<br>
Du hast ne chance von 33% dein Gold zu verdoppeln du besitzt<br>
<br><font color=red>$gold1 Gold</font> davon wird immer 10% eingesetzt!<br><br>";

//ausrechnen von 10% vom gold

$einsatz=$gold1/10;

echo "<font color=red>$einsatz Gold EINSATZ</font><br><br><br>";




// ZZAHL 1-3

srand ((double)microtime()*1000000);
$zzahl= rand(1,3);




if($zzahl < 2)
{
echo "GLÜCKWUNSCH DU HAST GEWONNEN<br>";
$einsatz=$einsatz*$einsatz;
echo "Du hast nun $einsatz GEWONNEN!<br><br>";







$gold1=$gold1+$einsatz;

// HIER IST MEIN PROBLEM MÖCHTE DAS $gold1 in die datenbank 'login' in die spalte 'gold' geschreiben wird!
// Hab x Codes getestet hat nix geklappt :(


echo "Nun hast du $gold1 auf dem Konto";








}
else
{

echo "Leider hast du verloren nun ist dein Einsatzt von $einsatz verloren!";


mysql_close($link8);
mysql_close($link9);
}
?>










Mein problem ist das ich den wert $gold1 in die db 'login' in 'gold' nicht reinbekomme :(
Ich möchte das der wert von $gold1 in gold geschreiben wird.

Hab wohl viele Fehler im Code, hab vor paar tagen erst angefangen zu coden danke.
 
Hi, willkommen im Forum.

Ich nehme an, dass Du mittels INSERT schon den Grundbestand an Gold in das entsprechende Feld eingetragen hast.

Du kannst dann dieses Feld mit UPDATE aktualisieren.
Beispiel:
PHP:
mysql_query("UPDATE tabelle set gold='$gold' where id='$id'");
Das musst Du natuerlich noch ein wenig anpassen.

Und ein paar kleine Hinweise noch um Dir die Zukunft hier im Forum etwas zu erleichtern.
Wie Du an meinem Beispiel siehst haben wir hier bestimmte Tags um den Code mit Syntax-Highlighting zu versehen. Bitte nutze diese auch, dadurch wird der Code wesentlich besser lesbar. Ausserdem lassen sich dadurch oft auch Fehler recht schnell finden.
Die Tags sind diese (die Leerzeichen musst Du dann noch entfernen)
[ php] [ /php] fuer PHP-Code
[ html] [ /html] fuer HTML-Code
[ code] [ /code] fuer sonstigen Code

Weiterhin solltest Du Dich durchgaengig an Gross- und Kleinschreibung halten, und nicht nur mal so zwischendurch. Obwohl ich sagen muss, dass das ja immerhin schon etwas ist, da einige auch einfach komplett klein schreiben.
 
Dankeschön, werde es testen.

edit:
Ich werde mich bessern :)


PHP:
mysql_query("UPDATE login set gold='$gold1' where id='$id'");

Dies hab ich nun eingetragen, doch in der sql db hat dich der Wert von 10 nicht geändert obwohl 1 Gold hinzukommen sollte :(.

Hab ich etwas vergessen/falsch gemacht?

Mfg
 
Zuletzt bearbeitet:
Bist ja noch neu hier, daher wollen wir Dich auch nicht gleich zusammenstauchen.
Da reicht dann ja ein freundlicher Hinweis.

Und es gibt auch Leute die lernen's nie. Aber die werden hier in der Regel auch nicht wirklich gluecklich. Darum eben der Hinweis.

Ich wuensche Dir schonmal viel Erfolg.
Und bei Fragen: fragen! ;)

Nachtrag:
Ich koennte mir vorstellen, dass das
Code:
where id='$id'
bei Dir nicht seinen Zweck erfuellt.
Hast Du ein Feld welches einen Eintrag eindeutig kennzeichnet? Das solltest Du haben, denn ansonsten wird es recht schwer einen bestimmten Eintrag zu aktualisieren.
 
Zuletzt bearbeitet:
Ja, ich denke schon.

Hab in der mysql db id angelegt und als Primärschlüssel definfiert ist das gemeint?

(Sorry hab nicht ahnung von der Materie).


So schaut das aus:
Code:
FELD / Typ / Kollation / Attribute / Null / Standard / Extra / 

id / tinyint(10) / nicht eingetragen / UNSIGNED / NEIN / nicht eingetragen / auto_incremente

Nochmals danke für die Mühe :)
 
Genau das ist gemeint.

Hast Du denn auch im Script eine Variable $id?
Sieht mir im Moment nicht danach aus. Es scheint als wuerdest Du Dir nur den Goldbestand holen und damit hat's sich dann.
Du brauchst auch die entsprechende ID, damit Du dann diesen Eintrag updaten kannst.
 
Hab nun noch folgendes eingefügt:

PHP:
// VERBINDUNG ID


$link10 = mysql_connect('localhost', 'root', '');
if (!$link10) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
$result10 = mysql_query('SELECT id FROM quarkx.login');
if (!$result10) {
    die('Abfrage fehlgeschlagen:' . mysql_error());
}

$id = mysql_result($result10,0);

und am ende noch
PHP:
mysql_close($link10);

Somit hab ich mir nun auch die id geholt.(oder?) Leider wird es nicht "upgedatet".
 
Ich find Dein Script im Allgemeinen im Moment etwas komisch.
Du holst Dir Daten aus der Datenbank, grenzt aber nicht mittels WHERE ein.
Somit erhaeltst Du alle Eintraege.
Bei mysql_result() liest Du immer Zeile 0, also wohl die erste Zeile aus.

Das hiesse, dass Du wohl jedem User die selben Daten praesentierst.
Hast Du ein Login-System und dementsprechend verschiedene User? Oder wie werden einzelne User von einander unterschieden?
 
Erstmal danke nochmals für die Mühe komm mir schon irgendwie dumm vor :-(



Eigentlich möchte ich nur jemden User sein Daten bereitstellen.
Hab ca. vor etwa 4 Tagen mit mysql/php angefangen.
Und muss mich da noch druch arbeiten.

Hab eigentich nichts anderes gemacht also mir ein "Loginsystem" runtergeladen und diesesModifiziert.



Du holst Dir Daten aus der Datenbank, grenzt aber nicht mittels WHERE ein.
Somit erhaeltst Du alle Eintraege.

// Soll ich immer
PHP:
....where id='$id'")
usen?


Bei mysql_result() liest Du immer Zeile 0, also wohl die erste Zeile aus.

// Wie kann ich alles auslesen?


Das hiesse, dass Du wohl jedem User die selben Daten praesentierst.

// Das möchte ich eigentlich nicht


Hast Du ein Login-System und dementsprechend verschiedene User?

// Ja
 
Du musst wissen wie das Loginsystem die User identifiziert.

Ich nehm jetzt mal meine Website als Beispiel.

Ich schreibe die UserID beim Login in $_SESSION['id'].
Wenn ich nach den Daten des eingeloggten Users suche, dann kann ich somit
PHP:
$users=mysql_query("select * from users where id='".$_SESSION['id']."'");
dafuer nutzen. Das gibt mir nur eine einzige Zeile zurueck.
PHP:
$user=mysql_fetch_assoc($users);
stellt mir dann die Daten zur Verfuegung.
Ich kann dann auf folgende Daten zugreifen:
PHP:
$user['id']
$user['username']
$user['password']
$user['email']
$user['userlevel']
Ich hab also das Array $user mit allen Daten zu diesem User.

Dumm brauchst Du Dir nicht vorkommen. Wenn man gerade vor ein paar Tagen mit PHP angefangen hat ist es doch eigentlich klar, dass man damit noch so seine Schwierigkeiten hat. Also Kopf hoch, und weitermachen.
 
Zurück