php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.01.2010, 02:40  
Neuer Benutzer
 
Registriert seit: 25.01.2010
Beiträge: 10
PHP-Kenntnisse:
Anfänger
BlackKnight befindet sich auf einem aufstrebenden Ast
Standard Update Befehl funktioniert nicht

Ich habe mein script jetzt nochmal neu geschrieben, es funktioniert auch alles bis zum UPDATE befehl. Wenn ich das Script ausführe setzt er den "konto" eintrag in der Datenbank auf 0 statt auf das vorher errechnete Ergebnis.(hab zu testzwecken in der Datenbank jeweil von hand den wert 10 in "konto" und "wert2" geschrieben) hab ich eine falsche Schreibweise beim Update Befehl oder wo liegt mein fehler?

PHP-Code:
<?php

// Datenbank verbindung

mysql_connect("xxx""xxx""xxx"); 

mysql_select_db ("loginsystem"); 

//  Daten auslesen

$sql mysql_query("SELECT konto, wert2 FROM benutzerdate");




while (
$daten mysql_fetch_assoc($sql))
{  



$konto $daten["konto"];
$wert2 $daten["wert2"];

$ergebnis $konto $wert2;


mysql_query("UPDATE benutzerdate SET konto = $ergebnis");

}



?>
BlackKnight ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.01.2010, 03:01  
Neuer Benutzer
 
Registriert seit: 19.01.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Schlafbaer befindet sich auf einem aufstrebenden Ast
Standard

Guten Morgen!

Ja, dein Update-Befehl ist fehlerhaft.

Probier es mit:

PHP-Code:
mysql_query("UPDATE benutzerdate SET konto = '$ergebnis'"); 
Schlafbaer ist offline  
Alt 26.01.2010, 03:07  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Das ist sehr unwahrscheinlich. Da er + benutzt, dürfte es sich um Zahlen handeln. Und da sein Script angeblich 0 einträgt heißt das, dass das UPDATE vorher nicht fehlschlägt, ergo die Syntax richtig ist.

Alles in allem ist der ganze Code ohne WHERE Bedingungen relativ sinnlos. Und mit wäre er auch schlecht, weil man Queries nicht in einer Schleife absetzt. Zumal man die Rechenopeartion auch bequem allein in SQL abfrühstücken kann.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 26.01.2010, 03:11  
Neuer Benutzer
 
Registriert seit: 19.01.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Schlafbaer befindet sich auf einem aufstrebenden Ast
Standard

Sorry, soweit habe ich nicht geschaut. Bin nicht mehr wirklich wach

Bist du dir denn sicher, dass in $ergebnis auch was anderes als ne 0 steht?
Wenn nicht lass es dir doch mal ausgeben.
Schlafbaer ist offline  
Alt 26.01.2010, 07:35  
Erfahrener Benutzer
 
Registriert seit: 25.01.2009
Beiträge: 976
PHP-Kenntnisse:
Fortgeschritten
Capfly befindet sich auf einem aufstrebenden Ast
Capfly eine Nachricht über ICQ schicken Capfly eine Nachricht über MSN schicken
Standard

Ganz einfach:

Wenn $ergebnis eine Zahl:

PHP-Code:
mysql_query("UPDATE `benutzerdate` SET `konto` = ".$ergebnis.";"); 
sonst:

PHP-Code:
mysql-query("UPDATE `benutzerdate` SET `konto` = '".$ergebnis."';"); 

@Schlafbaer: Dein Code mit einfachen '' war eigentlich auch nicht so richtig^^
Da sollte man dann schon noch `` zusätzlich verwenden
__________________
MfG
~Capfly
Jetzt NEU! Cpix & Wbits Katahlan.de - Das Browsergame
Capfly ist offline  
Alt 26.01.2010, 09:10  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.846
HPR1974 wird schon bald berühmt werden
Standard

mal so am Rande, logisch erscheint mir das eh nicht den es erhält immer die gesamte tabelle ein update mit dem ergebnis jeder zeile, was soll das bringen?
wenn Du zeilenweise ein update brauchst dann mach das in einem statement berechne den wert neu in sql und mach das update
HPR1974 ist offline  
Alt 26.01.2010, 09:45  
Neuer Benutzer
 
Registriert seit: 25.01.2010
Beiträge: 10
PHP-Kenntnisse:
Anfänger
BlackKnight befindet sich auf einem aufstrebenden Ast
Standard

Guten morgen zusammen,

erstmal danke für die Antworten. Ich habe mir den Code zum testen Zeile für zeile mit echo ausgeben lassen. in $ergebnis ist das richtige Ergebnis für jede Zeile drin: jeweils 20.

Ich habe die einzelnen Schreibweisen nochmal ausprobiert, es führte leider keine zum Erfolg.

Der Sinn der sache soll sein, Das ich dieses Script in ein Crown einbauen möchte der dann alle Stunde rumgeht und bei jedem User Den kontostand um den wert2 erhöht.
BlackKnight ist offline  
Alt 26.01.2010, 09:48  
Erfahrener Benutzer
 
Registriert seit: 21.12.2009
Beiträge: 379
PHP-Kenntnisse:
Fortgeschritten
G.Schuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Capfly Beitrag anzeigen
Ganz einfach:
...und doch so "nicht richtig/vollständig".
Innerhalb von Quotes werden Variablen interpretiert, es ist also absolut unnötig, $ergebnis rauszunehmen.
"Update... $ergebnis" ist vollkommen "in Ordnung" [1], lediglich bei SingleQuotes ('UPDATE ...'.$ergebnis.'...') muss es ausserhalb der Quotes stehen.

Zitat:
Zitat von Capfly Beitrag anzeigen
PHP-Code:
mysql-query("UPDATE `benutzerdate` SET `konto` = '".$ergebnis."';"); 
Siehe [1]

Zitat:
Zitat von Capfly Beitrag anzeigen
@Schlafbaer: Dein Code mit einfachen '' war eigentlich auch nicht so richtig^^
Der war vollkommen richtig.

Zitat:
Zitat von Capfly Beitrag anzeigen
Da sollte man dann schon noch `` zusätzlich verwenden
Müssen nicht, können.

[1] Egal welcher der Codes - wenn man nicht 1000% sicher sein kann, welche Werte enthalten sind, imemr ein real_escape_string() verwenden.

Und @Capfly: bitte erst Schlau machen bevor man andere mit Codebeispielen belehren möchte.
Von einem PHPler mit "fortgeschrittenen" Kenntnissen hätte ich eigentlich doch erwartet, dass er den Unterschied zwischen Quotes und SIngleQuotes in Bezug auf Variablenauswertung kennt.
__________________
actra.development - Schwabstr. 2 - 70825 Münchingen
www.actra.de/velopment/ - eMail: php.de@actra.de
Zend Certified Engineer for PHP5

Geändert von G.Schuster (26.01.2010 um 09:52 Uhr).
G.Schuster ist offline  
Alt 26.01.2010, 09:50  
Erfahrener Benutzer
 
Registriert seit: 21.12.2009
Beiträge: 379
PHP-Kenntnisse:
Fortgeschritten
G.Schuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von BlackKnight Beitrag anzeigen
Der Sinn der sache soll sein, Das ich dieses Script in ein Crown einbauen möchte der dann alle Stunde rumgeht und bei jedem User Den kontostand um den wert2 erhöht.
mysql_query('UPDATE `benutzerdate` SET `konto` = `konto` + `wert2`;');
No need for loops...
__________________
actra.development - Schwabstr. 2 - 70825 Münchingen
www.actra.de/velopment/ - eMail: php.de@actra.de
Zend Certified Engineer for PHP5
G.Schuster ist offline  
Alt 26.01.2010, 09:57  
Neuer Benutzer
 
Registriert seit: 25.01.2010
Beiträge: 10
PHP-Kenntnisse:
Anfänger
BlackKnight befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von G.Schuster Beitrag anzeigen
mysql_query('UPDATE `benutzerdate` SET `konto` = `konto` + `wert2`;');
No need for loops...
Vielen Dank, wieder was gelernt. Das es so einfach gehen kann wusste ich nicht und hab es komischerweise auch in keinem Tutorial etc. so gefunden( oder ich habe es falsch interpretiert). Jetzt funktioniert es einwandfrei.
BlackKnight ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mysql_query Update wird nicht ausgeführt willswissen1992 PHP Tipps 2009 3 02.06.2009 21:09
[Erledigt] Insert Befehl funktioniert nicht! In phpmyadmin klappts? Blue Datenbanken 4 03.05.2009 18:30
[Erledigt] Umlaute ersetzen funktioniert nicht richtig BlackSpirit PHP Tipps 2009 19 20.04.2009 12:04
Problem mit dem Update Befehl Lampi Datenbanken 3 22.12.2008 17:19
Anfängerproblem Update Befehl MoCo PHP Tipps 2008 9 24.11.2008 15:46
Update befehl millas Datenbanken 7 27.08.2008 11:21
UPDATE Befehl, Veränderung festellen tekknotrip Datenbanken 2 21.03.2006 15:19
Update funktioniert nicht Sachse PHP Tipps 2007 6 14.12.2005 08:46
Update funktioniert nicht wizzardxx PHP Tipps 2005-2 12 13.08.2005 21:17
UPDATE Datenbank funktioniert nicht??!! c-bass PHP Tipps 2005-2 23 01.08.2005 15:12
SQL Update funktioniert lokal aber auf dem Server nicht Datenbanken 1 22.07.2005 09:35
UPDATE funktioniert nicht... PHP Tipps 2005-2 2 12.07.2005 10:56
Update in mysql funzt nicht maeck PHP Tipps 2005-2 4 27.06.2005 22:52
UPDATE mit ' im Text Datenbanken 2 09.11.2004 20:07
UPDATE funktioniert irgendwie nicht yoshy PHP Tipps 2004 5 26.07.2004 10:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
update befehl nicht erlaubt für benutzer, http://www.php.de/php-einsteiger/63795-update-befehl-funktioniert-nicht.html, insert befehl nicht erlaubt für benutzer ssl, update befehl mit where bendingungen funktioniert nicht, mysql_query update funktioniert nicht, mysql_query(\update, update befehl, mysql_query update, mysql_query update wird nicht ausgeführt, updatecommand wird nicht ausgeführt, php update funktioniert nicht, update per php geht nicht, php mysql_query update probleme, php sql daten anzeigen und update befehl, \update befehl nicht erlaubt für benutzer\, php update set, befehl nicht erlaubt für benutzer checkdomain, update funktioniert nicht php, update befehl in php funktioniert nicht, fehleranzeige zend

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum