php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 26-05-2004, 10:42
Sascha1974
 Newbie
Links : Onlinestatus : Sascha1974 ist offline
Registriert seit: Apr 2004
Beiträge: 22
Sascha1974 ist zur Zeit noch ein unbeschriebenes Blatt
Unhappy [MySQL 4.0] Datensatz-Update aus Formular funzt nicht

Hallo,

ich habe folgendes Problem. Ein vorhandener Datensatz soll geändert
werden. Dazu wird ein Datensatz ausgewählt und dessen Inhalt in die
einzelnen Felder des Änderungsformular eingetragen. Soweit klappt alles
super. Nimmt man nun die Änderungen vor und sendet sie ab, übernimmt
die Änderungen eine weitere PHP-Datei, welche die Änderungen mittels
einer Update-Anweisung in die Datenbank zurückschreiben soll. Daran
haperts nun leider noch. Tabellen, Datenbank und Feldnamen habe ich
mehrfach überprüft und das ganze auch mal manuell in der mySQL-Konsole problemlos ausgeführt.

Hier zunächst die PHP-Datei, welche das Update durchführen soll:

PHP-Code:
<html>
<body>

<?php

   $db 
mysql_connect();

   
$sqlab "update tbl_hotels set Kategorie = '$neukat',";
   
$sqlab .= "Name = '$neuname',";
   
$sqlab .= "Beschreibung = '$neubesch',";

   if (
$neufoto != Null)
   {
      
$sqlab .= "URL = '$neufoto',";
   }

   
$sqlab .= "where IDNr = $oriid";

   
mysql_db_query("reisen"$sqlab);

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

   
mysql_close($db);
?>

Zurück zur <a href="auswahlh.php">Auswahl</a>

</body>
</html>
Die Daten für das Update stammen aus folgender PHP-Datei und werden auch korrekt übertragen:

PHP-Code:
<html>
<body>

<?php

if (isset($auswahl))
{
   
$db mysql_connect();

   
$sqlab "select * from tbl_hotels where";
   
$sqlab .= " IDNr = $auswahl";
   
$res mysql_db_query("reisen"$sqlab);

   
$altkat mysql_result($res0"Kategorie");
   
$altname mysql_result($res0"Name");
   
$altbesch mysql_result($res0"Beschreibung");
   
$altfoto mysql_result($res0"URL");

   echo 
"Ausgewählt ist Datensatz Nr. $auswahl<br>";
   echo 
"Führen Sie die Änderungen durch und betätigen Sie anschließend den Button<p>";
   echo 
"<form action = 'aendern2h.php' method = 'post'>";

   echo 
"<table border=1 width=100%>";
   echo 
"<tr> <td>Kategorie:</td>";
   echo 
"<td> <input name='neukat' size='10' value='$altkat'></td> </tr>";
   echo 
"<tr> <td>Name:</td>";
   echo 
"<td> <input name='neuname' size='30' value='$altname'></td> </tr>";
   echo 
"<tr> <td>Beschreibung:</td>";
   echo 
"<td> <textarea name='neubesch' cols='40' rows='5' >$altbesch</textarea></td> </tr>";
   echo 
"<tr> <td>Foto URL:</td>";
   echo 
"<td> <input type='file' name='neufoto' size='50'></td> </tr>";
   echo 
"</table>";
   
   echo 
"<input type='hidden' name='oriid' value='$auswahl'><br>";
   echo 
"<input type='submit' value='Änderungen in Datenbank speichern'>";
   echo 
"<input type='reset'>";
   echo 
"</form>";

   
mysql_close($db);
}
else
   echo 
"Es wurde kein Datensatz ausgewählt<p>";

?>


</body>
</html>


Wie gesagt, das Formular funzt fehlerfrei und es wird auch die
Datensatznummer für das spätere Update korrekt übernommen. Trotzdem
wird immer die Meldung ausgegeben, dass der Datensatz nicht gespeichert
wurde. Fällt euch spontan ein Fehler auf, den ich trotz mehrmaligen
durchsehens übersehen habe?

Viele Grüße
Sascha

Geändert von Sascha1974 (26-05-2004 um 10:54 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 26-05-2004, 10:48
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

BITTE ALLE CODEZEILEN UND TEXT ENTSPRECHEND UMBRECHEN,
DASS MAN BEIM LESEN NICHT ZU SCROLLEN BRAUCHT. Danke.

Schon mal echo $sqlab gemacht? ist der SQL-String korrekt? Wenn
Name und/oder Beschreibung leer sind, dann darfst du dich auf die
Suche nach register_globals begeben.

BTW: Spaltenname=Name ist böse, packt den Namen in ` rein.
Mit Zitat antworten
  #3 (permalink)  
Alt 26-05-2004, 11:00
Sascha1974
 Newbie
Links : Onlinestatus : Sascha1974 ist offline
Registriert seit: Apr 2004
Beiträge: 22
Sascha1974 ist zur Zeit noch ein unbeschriebenes Blatt
Arrow [MySQL 4.0] So siehts aus...

Hallo,

danke für den Hinweis und Sorry wegen der vergessenen Umbrüche.

Ich habe mal deinen Hinweis mit dem echo $sqlab befolgt und mir das
Resultat angesehen, welches so ausschaut:

update tbl_hotels set Kategorie = 'Hotel',Name = 'Best Western
Frankfurt',Beschreibung = 'Liegt in der Dorfmitte!',where IDNr = 3

Also vielleicht bin ich blind, aber die SQL-Anweisung schaut doch okay aus.
Die Tabelle stimmt und die Feldnamen auch. Also an den Variablen liegts nicht.

Viele Grüße
Sascha
Mit Zitat antworten
  #4 (permalink)  
Alt 26-05-2004, 11:01
Sascha1974
 Newbie
Links : Onlinestatus : Sascha1974 ist offline
Registriert seit: Apr 2004
Beiträge: 22
Sascha1974 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Uups!
Habe den Fehler schon gefunden. Ein "," vor dem where. Peinlich

Gruß
Sascha
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

OnPremise versus Cloud - das richtige System finden
Wir beleuchten in diesem Artikel, die Vor- und Nachteile für Cloud oder OnPremise Systemen. Und warum es definitiv Zeit wird in die Cloud zu wechseln.

09.05.2022 | julia_mjr

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

01.07.2022 Berni | Kategorie: PHP/ Anzeigenmarkt
NewsLetter Script PHP ansehen NewsLetter Script PHP

NewsLetter Script PHP is a simple email subscriptions newsletters script written in PHP and MySQL. Admin could send news in the letters to a mailing list of subscribed visitors. All the news and subscription form could be placed into a page of your web

28.06.2022 nevenov | Kategorie: PHP/ Mail
Contact Form PHP ansehen Contact Form PHP

Each website needs a contact form - Contact Form PHP script is very easy to install on your contacts page and administer.

27.06.2022 nevenov | Kategorie: PHP/ Formular
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:37 Uhr.