wisler
Goto Top

MYSQL Error

Hallo,

Habe ein kleines problem.

Habe mir ne Mysql Datenbank eingerichtet und in PHP soweit alles erstellt, das ich Datensätze
in die Datenbank eintragen kann.

Nun mein Problem.

Wenn ich einen Datensatz über PHP änder möchte habe ich eine Seite, wo ich den Datensatz
auswählen kann den ich ändern möchte.

Das klappt ganz gut

Aber da wo ich die Änderung durchführen möcht bekomme ich ne Fehlermeldung

mysql_result(): supplied argument is not a valid MySQL result resource in edit.php on line 13
mysql_result(): supplied argument is not a valid MySQL result resource in edit.php on line 14
mysql_result(): supplied argument is not a valid MySQL result resource in edit.php on line 15

1 <html>
2 <body>
3 <?php
4 if(isset($_POST[auswahl]))
5 {
6 $db = mysql_connect("localhost","root","pw");
7
8 $sqlab = "select * from tabelle where";
9 $sqlab .= " id = $auswahl";
10
11 $res = mysql_db_query("datenbank", $sql, $db);
12
13 $altusr = mysql_result($res, 0, "user");
14 $altpw = mysql_result($res, 0, "pw");
15 $altem = mysql_result($res, 0, "email");
16
17 echo "Führen Sie die Änderungen durch,<p>";
18 echo "betätigen Sie anschließend den Button<p>";
19
20 echo "<form action = 'spei.php' ";
21 echo " method = 'post'>";
22
23 echo "<input name='neuusr' value='$altusr'>";
24 echo " User<p>";
25 echo "<input name='neupw' value='$altpw'> ";
26 echo " Passwort<p>";
27 echo "<input name='neuid' value='$auswahl'>";
28 echo " ID<p>";
29 echo "<input name='neuem' value='$altem'>";
30 echo " E-Mail<p>";
31 echo "<input type='hidden' name='oripn' ";
32 echo " value='$auswahl'>";
33
34 echo "<input type='submit' ";
35 echo " value='Änderungen in DB speichern'><p>";
36 echo "<input type='reset'>";
37 echo "</form>";
38
39 mysql_close($db);
40 }
41
42 else
43 echo "Es wurde kein Datensatz ausgewählt<p>";
44 ?>
45 </body>
46 </html>

Weiß nicht wo der Fehler liegt.

Content-Key: 40646

Url: https://administrator.de/contentid/40646

Printed on: April 20, 2024 at 01:04 o'clock

Member: EvilMoe
EvilMoe Sep 21, 2006 at 17:29:19 (UTC)
Goto Top
11 $res = mysql_db_query("datenbank", $sql, $db);

die variable $sql ist nicht definiert sollte bestimmt $sqlab sein. die fehler heissen nur das dein sql befehl fehlerhaft ist, oder in diesen fall ganicht vorhanden
Member: Wisler
Wisler Sep 21, 2006 at 17:37:35 (UTC)
Goto Top
Danke für den Hinweiß.
Leider ist der Fehler weiter hin vorhanden.

Kann es sein das ich die ID auf auto_increment und als Primary eingestellt habe
und da durch der Fehler entsteht?
Member: EvilMoe
EvilMoe Sep 21, 2006 at 18:16:37 (UTC)
Goto Top
soll vielleicht
9 $sqlab .= " id = $auswahl";
etwa
9 $sqlab .= " id = $_POST[auswahl]";
sein?
Member: Wisler
Wisler Sep 22, 2006 at 15:32:31 (UTC)
Goto Top
Danke hat geholfen.

Hab aber jetzt leider noch einen Fehler in der PHP Datei die zum ändern des Datensatzes für
zuständig ist.

Bekomme die Meldung:
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 'id = oripn' at line 1

Habe schon alle syntax die ich finden konnt ausprobiert.
Habe MYSQL 5.0

Hier der Quellcode der für das Speicher verantwortlich ist:

<?php
$db = mysql_connect("localhost","root","Passwort");

$sqlab = "UPDATE Tabelle SET user = neuusr,";
$sqlab .= "pw = neupw,";
$sqlab .= "email = neuem,";
$sqlab .= "WEHRE id = oripn";

mysql_db_query("Datenbank", $sqlab, $db);

$num = mysql_affected_rows();
if ($num>0)
echo "Der Datensatz wurde geändert<p>";
else
echo "Der Datensatz wurde nicht geändert<p>";
echo "My SQL ERROR : ".mysql_error();

mysql_close($db);
?>
Member: GreyFox
GreyFox Sep 22, 2006 at 16:56:24 (UTC)
Goto Top
$sqlab = "UPDATE Tabelle SET user = neuusr,";
$sqlab .= "pw = neupw,";
$sqlab .= "email = neuem,";
$sqlab .= "WEHRE id = oripn";

neupw, neuem, neuusr, oripn sind Variablen ... benutze bitte innerhalb einer Zeichenfolge mit Anführungszeichen entweder

foo = "bar".$baz;
oder
foo = "bar{$baz}";
oder
foo = "bar"${baz};
oder
foo = "bar$baz";

auf jeden Fall eines dieser Formen!