php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.09.2004, 21:32  
Gast
 
Beiträge: n/a
Standard Datenbank Update funzt nicht.....

Hallo zusammen,

ich arbeite mich gerade durch das "Einsteiger für PHP4 aus dem Galileoverlag".

Dort ist ein Datenbankaufbau beschrieben. Da das Buch schon ein paar Tage alt ist stimmt die Syntax wohl nicht mehr ganz.

Bis auf das ändern von selektierten Datensätzen hab ich die Geschichte aber angepasst. Nur hier komme ich nicht weiter und hoffe auf eure Hilfe.

Ich poste mal was ich bis jetzt habe:

Das ist meine zugriff.inc.php

PHP-Code:
<?php
//Zugangsdaten
$user="root";         //Benutzername für den MySQL-Zugang
$password="xxxxx";         //Passwort
$host="localhost";     //Name (IP-Adr.) des Rechners mit MySQL
$dbname="firma";//Name der Datenbank

//Verbindung aufbauen
$db mysql_connect($host$user$password) or die("Verbindung fehlgeschlagen");
//Datenbank als Standard definieren
mysql_select_db($dbname,$db);
?>
Und das ist das Script wo ich den zu ändernden Datensatz auswähle:

PHP-Code:
<html>
<body>

Wählen Sie aus, welcher Datensatz geändert werden soll:


<form action = "uf16bb.php" method = "post">

<?php

   
//$db = mysql_connect();
   //Verbindung zur Datenbank aufnehmen
   
include("../../verbindung/zugriff.inc.php");
   
   
$res mysql_db_query("firma""select * from personen");
   
$num mysql_num_rows($res);


   
// Tabellenbeginn
   
echo "<table border>";

   
// Überschrift
   
echo "<tr> <td>Auswahl</td> <td>Name</td>";
   echo 
"<td>Vorname</td> <td>Personalnummer</td>";
   echo 
"<td>Gehalt</td> <td>Geburtstag</td> </tr>";

   for (
$i=0$i<$num$i++)
   {
      
$nn mysql_result($res$i"name");
      
$vn mysql_result($res$i"vorname");
      
$pn mysql_result($res$i"personalnummer");
      
$ge mysql_result($res$i"gehalt");
      
$gt mysql_result($res$i"geburtstag");

      
// Tabellenzeile mit -zellen
      
echo "<tr> <td><input type='radio' name='auswahl'";
      echo 
" value='$pn'></td> <td>$nn</td> <td>$vn</td>";
      echo 
"<td>$pn</td> <td>$ge</td> <td>$gt</td> </tr>";
   }
 
   
// Tabellenende
   
echo "</table>";

   
mysql_close($db);
?>

   


   <input type="submit" value="Datensatz anzeigen"> 
</form>

</body>
</html>
Hier kommt das Script wo die Änderungen durchgeführt werden:

PHP-Code:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Title here!</title>
</head>
<body>
<?php
if ($_POST['auswahl'])
{
  
//$db = mysql_connect();
  
include("../../verbindung/zugriff.inc.php");


  
$sqlab "select * from personen where";
  
$sqlab .= " personalnummer = '".$_POST['auswahl']."'";
  echo 
$sqlab;

  
$res mysql_query($sqlab) or die (mysql_error());
  
$altnn mysql_result($res0"name");
  
$altvn mysql_result($res0"vorname");
  
$altge mysql_result($res0"gehalt");
  
$altgt mysql_result($res0"geburtstag");

  echo 
"Führen Sie die Änderungen durch,

"
;
  echo 
"betätigen Sie anschließend den Button

"
;

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

  echo 
"<input name='neunn' value='$altnn'>";
  echo 
" Nachname

"
;
  echo 
"<input name='neuvn' value='$altvn'> ";
  echo 
" Vorname

"
;
  echo 
"<input name='neupn' value='$auswahl'>";
  echo 
" Personalnummer

"
;
  echo 
"<input name='neuge' value='$altge'>";
  echo 
" Gehalt

"
;
  echo 
"<input name='neugt' value='$altgt'>";
  echo 
" Geburtstag

"
;
  echo 
"<input type='hidden' name='oripn' ";
  echo 
" value='$auswahl'>";

  echo 
"<input type='submit' ";
  echo 
" value='Änderungen in DB speichern'>

"
;
  echo 
"<input type='reset'>";
  echo 
"</form>";

  
mysql_close($db);
}

else
  echo 
"Es wurde kein Datensatz ausgewählt

"
;
?>


</body>
</html>
Und nun kommt der Knackpunkt:

PHP-Code:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Aenderung ausführen!</title>
</head>
<body>

<?php

   
//$db = mysql_connect();
   //Verbindung zur Datenbank
   
include("../../verbindung/zugriff.inc.php");
   
   
$sqlab "update personen set name = '$neunn',";
   
$sqlab .= "vorname = '$neuvn',";
   
$sqlab .= "personalnummer = '$neupn',";
   
$sqlab .= "gehalt = '$neuge',";
   
$sqlab .= "geburtstag = '$neugt'";
   
$sqlab .= "where personalnummer = $oripn";
   echo 
$sqlab;

   
mysql_query($sqlab) or die (mysql_error());

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

"
;
   else
      echo 
"Der Datensatz wurde nicht geändert

"
;

   
mysql_close($db);
?>

Zurück zur [url="uf16a.php"]Auswahl[/url]

</body>
</html>
Und da bekomm ich zur Zeit diese Fehlermeldung:
Zitat:
update personen set name = '',vorname = '',personalnummer = '',gehalt = '',geburtstag = ''where personalnummer = You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Es werden keine Werte übergeben da ich ja wohl irgendwo nen Syntaxfehler drin hab den ich aber nicht finde.

Wer hat da evtl. eine Idee ??

Danke für die Mühe schon mal im voraus

Henning
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.09.2004, 06:06  
Erfahrener Benutzer
 
Registriert seit: 24.08.2003
Beiträge: 714
Ashergul
Standard

''where <---- da fehlt denk ich ein leerzeichen

ansonsten würde ich mal nachsehen wie bei dir die einstellung von register_globals ist
__________________
mfg Floh

Programmers don't die, they GOSUB without RETURN
Ashergul ist offline  
Alt 27.09.2004, 07:59  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
$sqlab "select * from personen where"
ich denke das dort auch der fehler liegt.

durch das where setzt du ja eine bedingung in die sql abfrage, jedoch kommt diese bedingung nie. wenn du where reinschreibst dann musst du die bedingung auch vollständig mit angeben.
oder du lässt das where einfach weg

also nur
PHP-Code:
$sqlab "select * from personen"

Mfg Nana23
 
 


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
[Erledigt] Datenbank und Ordner auslesen funzt net borsty PHP Tipps 2008 6 03.06.2008 13:56
datenbank auf andere kopieren geht nicht! Kevin Datenbanken 1 18.08.2007 23:20
datenbank update via install.php problem annaloga Datenbanken 6 31.05.2006 10:59
Problem beim zeitbedingt 'einmaligen' update der datenbank PHP-Fortgeschrittene 1 30.01.2006 20:45
Update Script funzt nicht PHP Tipps 2007 5 20.12.2005 19:36
Update funzt nich PHP Tipps 2005-2 10 12.08.2005 18:01
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
UPDATE Datenbank funktioniert nicht??!! c-bass PHP Tipps 2005-2 23 01.08.2005 15:12
Schreibzugriff auf Datenbank funzt nicht PHP Tipps 2005-2 4 24.07.2005 17:43
Update in mysql funzt nicht maeck PHP Tipps 2005-2 4 27.06.2005 22:52
update in db funzt net.... PHP Tipps 2004 6 17.09.2004 17:18
datenbank update mit variablen funzt nicht Datenbanken 47 06.09.2004 07:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
uf16a.php, php selektierte datensätze mysql datenbank aktualisieren, $sqlab = \update personen set\, uf16c.php, update uf16c.php, uf16c.php wurde nicht geändert, auswahl des zu ändernden datensatzes, html <form> inhalte in datenbank update, mysql datenbank update, datenbank update set php, $sqlab = \update personen set name = \'\ . $_post[\nn\] . \\',\; $sqlab .= \ vorname = \'\ . $_post[\vn\] . \\',\; $sqlab .= \ personalnummer = \ . $_post[\pn\] . \,\; $sqlab .= \ gehalt = \ . $_post[\ge\] . \,\; $sqlab .= \ geburtstag = \'\ . $_post[\gt\, $sql = \update personen set\ . \name = \'\ . $_post[\nn\] . \\'.\ . \vorname = \'\ . $_post[\vn\] . \\'.\ . \personalnummer = \'\ . $_post[\pn\] . \\'.\ . \gehalt = \'\ . $_post[\ge\] . \\'.\ . \geburtstag = \'\ . $_post[\gt\] . \\'.\ . \where per

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.