Alt 14.04.2007, 07:57:39   #1
concept
Neuer Benutzer

ID: 11843
Lose senden

Reg: 21.02.2007
Beiträge: 12
Frage [PHP/MySQL] Fehler - aber wo? Daten in mySQL eintragen

Hallo!
Habe ein kleines Problem - kenne mich auch nicht sonderlich gut aus.
Also wenn ich dieses Script ausführe bekomme ich immer die Meldung
- Der Datensatz wurde nicht geändert -

Kann mir jemand von euch weiterhelfen??

Vielen Dank schon mal.
Andy





PHP-Code:
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:
<?php
include("config.php");


$db mysql_connect($dbhost$dbuser$dbpass);
if(!
$db) {echo "Der DB Server ist im Moment leider nicht erreichbar!";}

echo 
"Verbindung hergestellt.<br><br>";

echo 
"<b>Auslesen der Datenbank</b><br><br>";
 

   
$res mysql_db_query("saskia""select * from rasse");
   
$num mysql_num_rows($res);
   
   for (
$i=0$i<$num$i++)
{  
$nn mysql_result($res$i "text");
   echo 
"$nn <br><br>";


}

   echo 
"<b>Ende Auslesen der Datenbank</b><br><br>";

   
$altnn mysql_result($res0"text");

   echo 
"Führen Sie die Änderungen durch,<p>";
   echo 
"betätigen Sie anschließend den Button<p>";

   echo 
"<center><form action = 'rasse_geaendert.php' ";
   echo 
" method = 'post'>";

   echo 
"<br>
   
   <textarea name='neunn' rows='20' cols='90'>
$nn</textarea><p>";
   
   

   echo 
"<input type='submit' ";
   echo 
" value='Änderungen in DB speichern'><p>";
   echo 
"<input type='reset'>";
   echo 
"</form></center>";

   
mysql_close($db);



?>
hier Teil 2 des Scriptes

PHP-Code:
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:
<html>
<body>
<?php
    
include("config.php");
    
   
$db mysql_connect($dbhost$dbuser$dbpass);
if(!
$db) {echo "Der DB Server ist im Moment leider nicht erreichbar!";}

echo 
"Verbindung hergestellt.<br><br>";

   
$sqlab "update rasse set text = '$neunn',";
   

   
mysql_db_query("saskia"$sqlab);

   
$num mysql_affected_rows();
   if (
$num>0)
      echo 
"Der Datensatz wurde geändert<p>";
   else
      echo 
"Der Datensatz wurde nicht geändert<p>";

   
mysql_close($db);
?>
Zurück zur <a href="rasse_aendern.php">Auswahl</a>

</body>
</html>
 
concept ist offline   Mit Zitat antworten
Alt 14.04.2007, 09:20:34   #2
tleilax
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose senden

Reg: 20.04.2006
Beiträge: 2.429
Standard

Mach mal im zweiten SKript in Zeile 11 das Komma am Ende des Querys weg. Da wartet MySQL sonst drauf, dass da noch was kommt...

BTW: mysql_error() ist reichlich hilfreich.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 14.04.2007, 10:19:46   #3
concept
Neuer Benutzer

ID: 11843
Lose senden

Reg: 21.02.2007
Beiträge: 12
Standard

also wenn ich das "," rausnehme sagt er zwar
- Datensatz wurde geändert -
aber unterm strich löscht bzw. trägt er in die db nichts ein, es wird ein leeres feld (vorher war was drinne danach ist es leer)


oder aber vielleicht anders:

was ich vorhabe:
ich möchte aus der db, eine tabelle mit nur einem feld, die daten in eine textarea auslesen ggf ändern und wieder speichern.


vielleicht ist das ja auch anders (besser) zu lösen ...
 

Geändert von concept (14.04.2007 um 10:29:52 Uhr) Grund: text erweitert
concept ist offline Threadstarter   Mit Zitat antworten
Alt 14.04.2007, 10:27:58   #4
theHacker
sieht vor lauter Ads
den Content nicht mehr
Benutzerbild von theHacker

ID: 69505
Lose senden

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.689
Standard

Woher soll denn der Wert $neunn kommen ? Ich sehe ihn nirgends definiert.
Evtl. ein Fall von register_globals
Außerdem is 'text' ein reserviertes Wort, das könnte Probleme machen. Probier das:
PHP-Code:
1:
$sqlab "UPDATE rasse SET `text` = '".$_POST['neunn']."'"
Zur Info: ein UPDATE-Statement löscht nichts und fügt nichts ein, sondern ändert nur Datensätze.
Wenn mysql_affected_rows() sagt, es wurde was geändert, dann wurde es auch.
theHacker ist offline   Mit Zitat antworten
Alt 14.04.2007, 10:39:22   #5
concept
Neuer Benutzer

ID: 11843
Lose senden

Reg: 21.02.2007
Beiträge: 12
Standard

hey SUPER!

genau das war der fehler - genauss soll es sein damit es funktioniert.

ich danke dir vielmals für die schnelle hilfe. :kiss
 
concept ist offline Threadstarter   Mit Zitat antworten
Alt 14.04.2007, 10:48:55   #6
chrissel
Woohooo!
Benutzerbild von chrissel

ID: 211634
Lose senden

chrissel eine Nachricht über ICQ schicken
Reg: 20.04.2006
Beiträge: 4.495
Standard

Zusatz:

Das Script ist zurzeit nicht vor SQL Injections geschützt, ich würde das Script ein wenig abändern:

PHP-Code:
1:
$sqlab "UPDATE rasse SET `text` = '".mysql_real_escape_string($_POST['neunn'])."'"
Dann brauchst du auch keine Angst vor Injections haben
chrissel ist offline   Mit Zitat antworten
Antwort

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[php/mysql] HTML in Datenbank eintragen Stex Programmierung 3 09.06.2008 00:41:13
[PHP/MySQL]Datum in Tabelle eintragen djjlx Programmierung 6 14.06.2007 10:20:01
[PHP/MySQL] Daten in tabell eintragen und wider auslesen MidnightLord Programmierung 9 05.06.2007 19:10:33
[MySQL] Fehler beim Eintragen in DB b_kannter Programmierung 5 28.01.2007 19:51:00
[MySql] Mysql daten hochladen Matthiasnet Programmierung 3 18.08.2006 00:56:15


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40:40 Uhr.