php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.12.2011, 15:51  
Erfahrener Benutzer
 
Registriert seit: 08.10.2010
Beiträge: 200
PHP-Kenntnisse:
Anfänger
djsky01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Datenbankzellen-Name als Variable

Hallo,
ich hab eine Tabelle, die folgendermassen aufgebaut ist:
id|temp1|temp2|temp3|temp4|temp5|temp6|temp7|.....
Geht so weiter bis temp30.
nun wollte ich alle in einer schleife abarbeiten und zwar so:

PHP-Code:
   for ($i=1;$i<=30;$i++)
       {
               
$db=mysql_connect($database_server,$database_user,$database_passwort);
               
mysql_select_db($database_name);
               
$zelle="temp".$i;
               
$database_table="warnungen";
               
mysql_query(
               
"UPDATE
                $database_table
                Set"
.
                
$zelle." = 'true'
                WHERE id = 1"
);

    } 
Ich dachte mir also ich überweise der Variable $zelle einfach den Zellennamen und das müsste funktionieren. Tut es aber nicht.
Ich bekomme mit weder mit error reporting noch mit sql error eine Fehlermeldung und in der Datenbank steht nach wie vor der Wert "false".
Kann man Zellennamen nicht so zusammenstellen oder liegt der Fehler wo anders?
djsky01 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.12.2011, 15:59  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Lass dir den generierten Query ausgeben.

So wie das aussieht müsste mysql_error einen Fehler ausgeben.

Und wieso schickst du 30(!) Queries raus? Einer reicht auch.

Und eine Tabelle mit 30(!) durchnumerierten Spalten lässt sowieso auf fragwürdiges Datenbankdesign schließen.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 10.12.2011, 16:06  
Erfahrener Benutzer
 
Registriert seit: 08.10.2010
Beiträge: 200
PHP-Kenntnisse:
Anfänger
djsky01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also bezüglich durchnummerierte Spalten.
Ich bekomm von einem Modem 30 verschiedene Temperaturen geliefert, deshalb ist das auch so durchnummeriert, also temperatur1 temperatur2......
upsa, sorry, hab da ja nen blödsinn gepostet.
Der Querie wird ja nur einmal ausgeführt, will ja nur eine bestimmte Zelle ändern, bei der ich allerdings vorher nicht weiß, welche zelle das ist, deshalb auch die Geschichte mit der Variable.
Hier der richtige Code:
PHP-Code:
//$autowert bekomm ich per zufall zwischen 1 und 30
 
for ($i=1;$i<=30;$i++) 
       { 
       if(
$i==$autowert)       
{        
$db=mysql_connect($database_server,$database_user,$database_passwort); 
               
mysql_select_db($database_name); 
               
$zelle="temp".$i
               
$database_table="warnungen"
               
mysql_query
               
"UPDATE 
                $database_table 
                Set"

                
$zelle." = 'true' 
                WHERE id = 1"
); 
}
    } 
djsky01 ist offline   Mit Zitat antworten
Alt 10.12.2011, 16:12  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Wenn $i == $autowert ist dann ist die Schleife überflüssig und du kannst direkt mit $autowert arbeiten.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 10.12.2011, 16:27  
Erfahrener Benutzer
 
Registriert seit: 08.10.2010
Beiträge: 200
PHP-Kenntnisse:
Anfänger
djsky01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmm, keine fehlermeldung mit mysql_error ($db);
djsky01 ist offline   Mit Zitat antworten
Alt 10.12.2011, 16:34  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von djsky01 Beitrag anzeigen
hmm, keine fehlermeldung mit mysql_error ($db);
Das kann nicht sein. "Lass dir deinen Query ausgeben" habe ich nicht umsonst vorgeschlagen.

Denn:

Dein Code ohne SQL Befehle:
PHP-Code:
$autowert 20;
for (
$i=1;$i<=30;$i++)  {  
   if(
$i==$autowert) {         
       
$zelle="temp".$i;  
       
$database_table="warnungen";  
       
var_dump"UPDATE  
        $database_table  
        Set"
.  
        
$zelle." = 'true'  
        WHERE id = 1"
);
   } 

Ergibt:

Code:
string(102) "UPDATE  
                warnungen  
                Settemp20 = 'true'  
                WHERE id = 1"
Und das ist alles aber kein gültiges SQL Statement.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 10.12.2011, 16:35  
Erfahrener Benutzer
 
Registriert seit: 08.10.2010
Beiträge: 200
PHP-Kenntnisse:
Anfänger
djsky01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ach hab mir den querystring nun mal ausgeben lassen und der sieht so aus:
UPDATE warnungen Set temp2 = 'false' WHERE id = 1

Geändert von djsky01 (10.12.2011 um 16:39 Uhr).
djsky01 ist offline   Mit Zitat antworten
Alt 10.12.2011, 16:38  
Erfahrener Benutzer
 
Registriert seit: 08.10.2010
Beiträge: 200
PHP-Kenntnisse:
Anfänger
djsky01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nach dem set das leerzeichen hab ich schon entdeckt.

UPDATE warnungen Set temp2 = 'false' WHERE id = 1

das ist doch gültiges sql oder nicht??*ach Gott, ich sollt heut mal Pause machen, hab einfach keinen klaren Kopf mehr
djsky01 ist offline   Mit Zitat antworten
Alt 10.12.2011, 16:59  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Code:
UPDATE warnungen Set temp2 = 'false' WHERE id = 1
Das kann der von dir gepostete Code nicht ausgeben, oder siehst du in deinen Codes oben irgendwo ein false stehen?

Und wenn du Fehler, welche im Ausgangspost vorhanden sind, bereits behoben hast teile dies bitte direkt mit und nicht erst wenn man dich mit der Nase drauf stößt.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 10.12.2011, 17:02  
Erfahrener Benutzer
 
Registriert seit: 08.10.2010
Beiträge: 200
PHP-Kenntnisse:
Anfänger
djsky01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ach sorry, ich mach die ganze Sache an einem Script 2x, einmal wo ich true rein schreiben muss und einmal wo ich false reinschreiben muss.
Sieht also so aus:
Code:
UPDATE warnungen Set temp2 = 'true' WHERE id = 1
djsky01 ist offline   Mit Zitat antworten
Antwort


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
Variable später nicht mehr definiert? Rollschuh PHP Einsteiger 12 08.10.2011 18:20
PHP Text wird nicht ausgegeben / Notice: undefined variable MBaaboura PHP Einsteiger 26 26.09.2011 11:09
[Erledigt] Mehrere Querys hintereinander funktionieren nicht wernersbacher Datenbanken 3 14.03.2011 23:08
Design einer DB für mehrsprachigkeit Squall Software-Design 35 08.10.2010 13:09
[Erledigt] Variable in foreach erweitern ohne zurücksetzen Polliny PHP Tipps 2010 2 23.06.2010 10:13
[Erledigt] sql - Variable ?? Exception PHP Tipps 2010 9 20.02.2010 04:03
Problem Undefined variable: banbanban PHP Tipps 2009 5 04.03.2009 17:55
Name suchen in My SQL und in php ausgeben nina123 PHP Tipps 2008 6 10.12.2008 11:10
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
mysql tabelle erstellen - name variable möchtegernchegga PHP Tipps 2005 10 24.04.2005 21:01
[Erledigt] Variable in DB Datenbanken 1 17.04.2005 15:01
Variable in Variable Matthiasnet PHP Tipps 2005 6 20.03.2005 23:28
[Erledigt] Fehlermeldung unterdrücken wenn keine variable übergeben... PHP Tipps 2005 6 20.03.2005 13:36
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
variable Variablen requesten PHP Tipps 2004 5 08.06.2004 20:34


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:33 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