Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 5%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 392 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Dabei seit: 21.12.2004

Beiträge: 29

 

1 Zum Seitenanfang

Mittwoch, 16. März 2005, 17:06

php mysql UPDATE fehler! Nur so ist er?

Hiho!

Hier ist der quellcode:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
  if(isset($_GET['do']))
      {
      if($do=="change") {
    $updaten 'UPDATE `myself` (`name`, `vorname`, `nickname`, `alter`, `hobbys`, `cpu`, `ram`, `mobo`, `graka`, `tower`, `laufwerke`, `kuehler`, `fav. musik`, `fav. band`, `fav. qoute`) VALUES (''$name'', ''$vorname'', ''$nickname'', ''$alter'', ''$hobbys'', ''$cpu'', ''$ram'', ''$mobo'', ''$graka'', ''$tower'', ''$laufwerke'', ''$kuehler'', ''$fav. musik'', ''$fav. band'', ''$fav. qoute'')';
        $update mysql_query($updaten);
        }    
    if($do=="reset") {
    $result mysql_query("SELECT * FROM myself") or die (mysql_error());
      $menge mysql_num_rows($result);  
         while($row mysql_fetch_array($result)){
            $name $row['name'];
            $vorname $row['vorname'];
            $alter $row['alter'];
            $hobbys $row['hobbys'];
            $nickname $row['nickname'];
            $cpu $row['cpu'];
            $ram $row['ram'];
            $mobo $row['mobo'];
            $favmusik $row['fav. musik'];
            $favband $row['fav. band'];
            $favquote $row['fav. qoute '];            
                }
            }
        }
?>


Könntet ihr mir vllt helfen den Fehler zu finden? Hier der Link zur datei wo ich nen Error bekomme:

http://warden.itpro-forum.de/admin/edit_profile.php

Error Meldung:

Zitat

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /www/htdocs/wardens/admin/edit_profile.php on line 156
www.butcher.info.ms
 

Alfons_G

Routinier

Dabei seit: 26.04.2003

Beiträge: 486

 

2 Zum Seitenanfang

Donnerstag, 17. März 2005, 12:17

Was ist mit den Variablen-Werten "$fav. musik" usw. ?

Alfons
 

Dabei seit: 08.12.2002

Beiträge: 1 220

 

3 Zum Seitenanfang

Donnerstag, 17. März 2005, 12:46

was ist das denn für ein ekeliges SQL Statement.
Hier ein Beispiel:

$aendern ="UPDATE tabelle SET atributenname = ' ' WHERE primärschlüssel = ' ' ";

Greetz

MaxTPayne

PS: Bei deinem Beispiel link sagt er mir das es erfolgreich war.

€dit: Fals dein SQL Statement doch klappen sollte musst du mindestens bei deiner Variable $updaten='' die beiden ' ' am anfang und ende durch ein " ersetzen da sonst der Variablenwert nicht ersetzt wird.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »maxtpayne« (17. März 2005, 12:48)

 

Dabei seit: 21.12.2004

Beiträge: 29

 

4 Zum Seitenanfang

Donnerstag, 17. März 2005, 14:42

wie würde es richtig heisen?

PHP-Quelltext

1
'UPDATE `myself` (`name`, `vorname`, `nickname`, `alter`, `hobbys`, `cpu`, `ram`, `mobo`, `graka`, `tower`, `laufwerke`, `kuehler`, `fav. musik`, `fav. band`, `fav. qoute`) VALUES (''$name'', ''$vorname'', ''$nickname'', ''$alter'', ''$hobbys'', ''$cpu'', ''$ram'', ''$mobo'', ''$graka'', ''$tower'', ''$laufwerke'', ''$kuehler'', ''$fav. musik'', ''$fav. band'', ''$fav. qoute'')';
www.butcher.info.ms
 

wyros

König

Dabei seit: 06.03.2003

Beiträge: 792

 

5 Zum Seitenanfang

Donnerstag, 17. März 2005, 15:38

Hat Maxtpayne schon gepostet!

Für jede Spalte ne eigene Query und gut is!



MfG
Save The Planet - Kill Yourself

Ich bin um zu denken, ich denke um zu sein
 

Dabei seit: 08.12.2002

Beiträge: 1 220

 

6 Zum Seitenanfang

Donnerstag, 17. März 2005, 16:21

Zitat

Original von Black-Warden
wie würde es richtig heisen?

PHP-Quelltext

1
'UPDATE `myself` (`name`, `vorname`, `nickname`, `alter`, `hobbys`, `cpu`, `ram`, `mobo`, `graka`, `tower`, `laufwerke`, `kuehler`, `fav. musik`, `fav. band`, `fav. qoute`) VALUES (''$name'', ''$vorname'', ''$nickname'', ''$alter'', ''$hobbys'', ''$cpu'', ''$ram'', ''$mobo'', ''$graka'', ''$tower'', ''$laufwerke'', ''$kuehler'', ''$fav. musik'', ''$fav. band'', ''$fav. qoute'')';


also das was du wissen musst hab ich dir gepostet also probier es aus das was du da gerade mit VALUES machst ist eher ein INSERT Befehl.

@wyros wenn der für jedes Feld ein querry macht ist unnötig ich weiß jetzt nicht ob man das einfach beliebig verlängern kann meine SQL Zeugs wenn ja ist das besser da man dann nur ein querry hat und so das DBMS nicht so belastet :)

Greetz

MaxTPayne
 

Fab

Lebende Foren Legende

Dabei seit: 30.03.2003

Beiträge: 1 635

 

7 Zum Seitenanfang

Donnerstag, 17. März 2005, 17:26

Hi

So würde ich das machen, ich weiss nicht, ob das jetzt eine Musterlösung ist oder nicht, aber so kommst du sicher ans Ziel :D

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
    $sql "UPDATE
                myself
            SET
                name = '".$name."',
                vorname = '".$vorname."',
                nickname = '".$nickname."',
                alter = '".$alter." ',
                hobbys = '".$hobbys."',
                cpu = '".$cpu."',
                ram = '".$ram."',
                mobo = '".$mobo."',
                graka = '".$graka."',
                tower = '".$tower."',
                laufwerke = '".$laufwerke."',
                kuehler = '".$kuehler."',
                fav. musik = '".$fav_musik."',
                fav. band = '".$fav_band."',
                fav. qoute = '".$fav_qoute."'
            WHERE
                id = '".$id."';";
?>


Hier noch ein paar Anmerkungen:

1. Du solltest Einrücken.
Das hat den Vorteil, dass du und alle Anderen, die deinen Code verwenden bzw. dir versuchen zu helfen das SQL-Statement besser lesen können.

2. Du solltest Variablen escapen:

Tutorial: http://www.webmasterwork.com/forum/threa…did=32001/sid=/

3. Schau dir mal dieses Tutorial an, den MySQL-Teil (sind etwa 8 Seiten, sie sind es wert gelesen zu werden):

http://tut.php-q.net/mysql.html

4. Du kannst einer Variable nicht den Namen fav. musik geben, sonst gibt es einen Parseerror.
Eine mögliche Lösung wäre (die ich auch oben angewandt habe!): $fav_musik.

Du musst also einfach noch die Variabelnamen von den drei $fav...-Dingern ändern und dann sollte der MySQL-Query funktionieren.
Ausserdem solltest du noch eine Spalte "id" anlegen mit dem Zusatz AUTO_INCREMENT. Dann musst du in der WHERE-Klausel den id-Teil anpassen. Also einfach ".$id." mit der id (wahrscheinlich 1) von deinem Datensatz ersetzten.

Ich hoffe, dass ich dich jetzt nicht zu sehr verwirrt habe :) :D


Mfg Fab
 

Dabei seit: 21.12.2004

Beiträge: 29

 

8 Zum Seitenanfang

Montag, 21. März 2005, 16:25

nö ganz und gar nich! Ich fühl mich grad happy :-)!!! Ich wusste doch schon immer das diese AUSGABEN von phpmyadmin mich verwirren!


Danke! 8)
www.butcher.info.ms
 

Dabei seit: 21.12.2004

Beiträge: 29

 

9 Zum Seitenanfang

Dienstag, 22. März 2005, 00:09

wieso geht dat schon wieder nich????

// edit_profile.php

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<?php
	if (file_exists('connect.inc.php')) {
		include("connect.inc.php"); }
		
	$result = mysql_query("SELECT * FROM myself") or die (mysql_error());
      $menge = mysql_num_rows($result);  
         while($row = mysql_fetch_array($result)){
			$name = $row['name'];
			$vorname = $row['vorname'];
			$alter = $row['alter'];
			$hobbys = $row['hobbys'];
			$nickname = $row['nickname'];						
				}	   
?>
<div align="center">
<FORM ACTION="edit_profile_send.php?do=change" METHOD="POST">
  <div align="center"> 
      <table width="80%" border="1" bordercolor="#000000">
        <!--DWLayoutTable-->
        <tr> 
          <td width="407" height="23">Name:</td>
          <td width="397" valign="top"> <input name="name" type="text" class="input" value="$name; " size="50" maxlength="100"> 
          </td>
        </tr>
        <tr> 
          <td>Vorname:</td>
          <td> <input name="vorname" type="text" class="input" value="$vorname" size="50" maxlength="100"> 
          </td>
        </tr>
        <tr> 
          <td>Alter:</td>
          <td> <input name="&sect;alter" type="text" class="input" value="$alter" size="50" maxlength="20"> 
          </td>
        </tr>
        <tr> 
          <td>Nickname:</td>
          <td> <input name="$nickname" type="text" class="input" value="$nickname"> 
          </td>
        </tr>
        <tr> 
          <td>Hobbys:</td>
          <td> <input name="$hobbys" type="text" class="input" value="$hobbys"> 
          </td>
        </tr>
        <tr> 
          <td height="23" valign="top"><div align="center">Hier findet ihr meine 
              Fav. Besch&auml;ftigungen usw...</div></td>
          <td></td>
        </tr>
        <tr> 
          <td>Fav. Musik:</td>
          <td> <input name="favmusik" type="text" class="input" value="<?php echo $favmusik; ?>"> 
          </td>
        </tr>
        <tr> 
          <td>Fav. Band:</td>
          <td> <input name="favband" type="text" value="<?php echo $favband; ?>"> 
          </td>
        </tr>
        <tr> 
          <td>Fav. Actor:</td>
          <td> <input type="text" name="textfield8"> </td>
        </tr>
        <tr> 
          <td>Fav. Zitate:</td>
          <td> <input name="favqoute" type="text" value="<?php echo $favqoute; ?>"> </td>
        </tr>
        <tr> 
          <td>Fav. Essen:</td>
          <td> <input type="text" name="textfield10"> </td>
        </tr>
        <tr> 
          <td>Fav. Getr&auml;nk:</td>
          <td> <input type="text" name="textfield11"> </td>
        </tr>
        <tr> 
          <td>Fav. Internet Seiten:</td>
          <td> <input type="text" name="textfield12"> </td>
        </tr>
        <tr> 
          <td>Fav. Besch&auml;ftigung:</td>
          <td> <input type="text" name="textfield13"> </td>
        </tr>
        <tr> 
          <td>Fav. TV-Serie:</td>
          <td> <input type="text" name="textfield14"> </td>
        </tr>
        <tr> 
          <td>Fav. Designprogramm:</td>
          <td> <input type="text" name="textfield15"> </td>
        </tr>
        <tr> 
          <td>Fav. Codingprogramm:</td>
          <td> <input type="text" name="textfield16"> </td>
        </tr>
        <tr> 
          <td height="23" valign="top"><div align="center">Das hier meine Computerhardware:</div></td>
          <td></td>
        </tr>
        <tr> 
          <td>Prozessor:</td>
          <td> <input name="cpu" type="text" value="<?php echo $cpu; ?>"> </td>
        </tr>
        <tr> 
          <td>Arbeitsspeicher:</td>
          <td> <input name="ram" type="text" value="<?php echo $ram; ?>"> </td>
        </tr>
        <tr> 
          <td>Mainboard:</td>
          <td> <input name="mobo" type="text" value="<?php echo $mobo; ?>"> </td>
        </tr>
        <tr> 
          <td>Monitor:</td>
          <td> <input type="text" name="textfield21"> </td>
        </tr>
        <tr> 
          <td>Grafikkarte:</td>
          <td> <input name="graka" type="text" value="<?php echo $graka; ?>"> </td>
        </tr>
        <tr> 
          <td>Maus:</td>
          <td> <input type="text" name="textfield23"> </td>
        </tr>
        <tr> 
          <td>Mauspad:</td>
          <td> <input type="text" name="textfield24"> </td>
        </tr>
        <tr> 
          <td>Tastatur:</td>
          <td> <input type="text" name="textfield25"> </td>
        </tr>
        <tr> 
          <td>K&uuml;hler:</td>
          <td> <input name="kuehler" type="text" value="<?php echo $kuehler; ?>"> </td>
        </tr>
        <tr> 
          <td>Geh&auml;use:</td>
          <td> <input name="tower" type="text" value="<?php echo $tower; ?>"> </td>
        </tr>
        <tr> 
          <td>Laufwerke:</td>
          <td> <input type="text" name="textfield28"> </td>
        </tr>
        <tr> 
          <td>Festplatten:</td>
          <td> <input type="text" name="textfield29"> </td>
        </tr>
      </table>
    </div>
    <div align="center"><br>
      <input class="input" type="submit" value="change">
	  <input class="input" type="reset" value="reset">      
    </div>
	<input type="hidden" name="do" value="$do">
</form>
<br>
<br></div>



// edit_profile_send.php

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
    if (file_exists('connect.inc.php')) {
        include("connect.inc.php"); }
    error_reporting(E_ALL);
      if(isset($_GET['do']))
          {
           if($_GET['do']=="change")  {     
        $sql "UPDATE
                myself
            SET
                name = '".$name."',
                vorname = '".$vorname."',
                nickname = '".$nickname."',
                alter = '".$alter." ',
                hobbys = '".$hobbys."',
                cpu = '".$cpu."',
                ram = '".$ram."',
                mobo = '".$mobo."',
                graka = '".$graka."',
                tower = '".$tower."',
                laufwerke = '".$laufwerke."',
                kuehler = '".$kuehler."',
                fav. musik = '".$fav_musik."',
                fav. band = '".$fav_band."',
                fav. qoute = '".$fav_qoute."'
            WHERE
                id = '".$id."';";
        } else { echo "fehlgeschlagen"; }    
    }
?>
www.butcher.info.ms

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Black-Warden« (22. März 2005, 00:10)

 

Dabei seit: 08.12.2002

Beiträge: 1 220

 

10 Zum Seitenanfang

Dienstag, 22. März 2005, 08:44

Zeile 27 was hat da ein ; zu suchen beim SQL Zeugs ?!?

Was für Fehlermeldungen bekommst du denn ?!?

Greetz

MaxTPayne
 

Fab

Lebende Foren Legende

Dabei seit: 30.03.2003

Beiträge: 1 635

 

11 Zum Seitenanfang

Dienstag, 22. März 2005, 10:12

Hi

@maxtpayne

Zitat

Zeile 27 was hat da ein ; zu suchen beim SQL Zeugs ?!?


Eigentlich solltest du das ; am Schluss des Queries schreiben, da dass der richtige Syntax wäre.
PHP übernimmt aber die Arbeit für dich und hängt da noch ein ; dran, wenn noch keines dran ist.
Würdest du den Query direkt in der Console ausführen, so würde MySQL einen Fehler ausgeben.

@Black-Warden

Zitat

name="$nickname"


1. Das finde ich ein wenig komisch, mach lieber nur name="nickname".


Zitat

name = '".$name."',


2. Du musst das mit $_POST abfragen, da du es ja über ein Formular übergibst.

PHP-Quelltext

1
name '".$_POST['name']."',



3. Die Variabelnamen müssen schon gleich wie im Formular heissen, sonst funktioniert das natürlich nicht :D

PHP-Quelltext

1
2
3
favmusik '".$fav_musik."'//falsch, da name="favmusik" und kein $_POST

favmusik '".$_POST['favmusik']."'// richtig



4. Wenn es jetzt immer noch nicht geht, dann solltest du unter das mysql_query() ein `echo mysql_error();` setzten.


Mfg Fab
 

Dabei seit: 08.12.2002

Beiträge: 1 220

 

12 Zum Seitenanfang

Dienstag, 22. März 2005, 11:55

Zitat

Original von Fab
Hi

@maxtpayne

Zitat

Zeile 27 was hat da ein ; zu suchen beim SQL Zeugs ?!?

Eigentlich solltest du das ; am Schluss des Queries schreiben, da dass der richtige Syntax wäre.
PHP übernimmt aber die Arbeit für dich und hängt da noch ein ; dran, wenn noch keines dran ist.
Würdest du den Query direkt in der Console ausführen, so würde MySQL einen Fehler ausgeben.

Mfg Fab


Ich habs nicht genau genug gelesen hab das ' übersehen und nicht richtig nachgedacht denn bei $variable="asdlkfjas";"; gibt es nen Parse Error :P Deswegen meinte ich ja auch was das ; da zu suchen hätte :)

Und das mit dem ; ist mir schon klar :P Ich werde nicht umsonst mit SQL vollgebombt ;)

Greetz

MaxTPayne