php formular mysql editieren

ryserstephan

Mitglied
Hallo Zusammen

Ich habe folgendes problem , ich beckome ständig die fehler meldung
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in..."

Es geht schlussentlich darum Datensätze zu ändern und zu Updaten.
Habe genau die den selben code für ein andres Projekt, und jetzt einfach angepasst.

Bin froh über jede antwort. Danke

Hier der Code :
PHP:
<?php

$db_dbname = 'fachstellen'; 
$db_user = 'root'; 
$db_pw = ''; 
$db_host = 'localhost'; 

$tabellenname = 'fachstellen'; 
$id =Trim($_POST['id']);  
$Fachstelle = $_POST['Fachstelle'];
$Adresse = $_POST['Adresse'];
$PLZ = $_POST['PLZ'];
$Ort = $_POST['Ort'];
$kontaktperson = $_POST['Kontaktperson'];
$Tel = $_POST['Tel'];
$Fax = $_POST['Fax'];
$EMail = $_POST['EMail'];
$Internet = $_POST['Internet'];
$Bemerkung = $_POST['Bemerkung'];
$datum = $_POST ['datum'];
mysql_connect($db_host, $db_user, $db_pw); 
mysql_select_db($db_dbname);

if (isset($_POST['sub_edit']) && $_POST['sub_edit']=!""){
	// Wenn änderung geklickt wurde
	$Sql_upd=("update daten SET Fachstellen= '".$Fachstellen."',   
                          Adresse= '".$Adresse."',
                          PLZ= '".$PLZ."',    
                          Ort= '".$Ort."',  
                          Kontaktperson= '".$Kontaktperson."',  
                          Tel= '".$Tel."',  
                          Fax= '".$Fax."',  
                          EMail= '".$EMail."',  
                          Internet= '".$Internet."',  
                          Bemerkung= '".$Bemerkung."',  
                          datum= '".$datum."'   
                          WHERE id = ".$id.";"); 
	//echo $Sql_upd;
	mysql_query($Sql_upd); // Änderung speichern
	echo "Änderung wurde Gespeichert";
}
Else{

$sql = ("select * FROM fachstellen WHERE id = '".$_GET['id']."';");
$q = mysql_query($sql);
$data = mysql_fetch_array($q);
                      
                   
?>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post">
<textarea name="name" rows="1" cols="105"><?=$data['Fachstellen'];?></textarea >
<br>
<textarea name="C1" rows="1" cols="105"><?=$data['Adresse'];?></textarea>
<br>
<textarea name="C2" rows="1" cols="105"><?=$data['PLZ'];?></textarea>
<br>
<textarea name="C3" rows="1" cols="105"><?=$data['Ort'];?></textarea>
<br>
<textarea name="C4" rows="1" cols="105"><?=$data['Kontaktperson'];?></textarea>
<br>
<textarea name="C5" rows="1" cols="105"><?=$data['Tel'];?></textarea>
<br>
<textarea name="C6" rows="1" cols="105"><?=$data['Fax'];?></textarea>
<br>
<textarea name="C7" rows="1" cols="105"><?=$data['E-Mail'];?></textarea>
<br>
<textarea name="C8" rows="1" cols="105"><?=$data['Internet'];?></textarea>
<br>
<textarea name="C9" rows="1" cols="105"><?=$data['Bemerkung'];?></textarea>
<br>
<textarea name="C10" rows="1" cols="105"><?=$data['datum'];?></textarea>
<br>
<textarea name="C11" rows="1" cols="105"><?=$data['id'];?></textarea>
<br>

<input type="submit" name="sub_edit" value="Ändern">
<input type="hidden" name="id" value="<?=$_GET['id'];?>"
</form>
<? }
 
Du greifst im Update-Statement auf die Tabelle Fachstellen zu, im SQL-Statement auf die (wohl nicht existierende) fachstellen. Unix ist case-sensitive!
 
es heisst ich habe einen fehler in der line 50

PHP:
	//echo $Sql_upd;
	mysql_query($Sql_upd); // Änderung speichern
	echo "Änderung wurde Gespeichert";
}
Else{

$sql = ("select * FROM daten WHERE id = '".$_GET['id']."';");
$q = mysql_query($sql);
$data = mysql_fetch_array($q); /// <<<<line 50
 
Und was steht dann bitte in Line 50, wenn du im HTML-Seitenquellcode bis an diese Stelle navigierst? Lag's nicht am Tabellennamen - wenn nein, solltest du dies trotzdem austauschen, da es so wohl nur unter WIndows und nicht auf einem Unix-Webserver laufen wird.

Anstelle von $_GET["id"] wirst du $_POST["id"] schreiben müssen, oder die <form>-method auf "get" anstelle von "post" setzen müssen.
 
mit meinen arg beschränkten Kenntnissen hätte ich spontan einmal gesagt, dass du
PHP:
$sql = ("select * FROM daten WHERE id = '".$_GET['id']."';");

in

PHP:
$sql = ("select * FROM daten WHERE id = '".$_POST['id']."';");

umwandeln solltest.
 
was ich nicht ganz verstehe habe genau das den selben code, müsste den ja eigentlich nur anpassen an den spalten nahmen, und dem DB namen. der funkzionierende code ligt sogar au dem selben server.und geht tip top.

Leider ha mir bis jetzt kei tip geholfen von euch aber ich bin euch total dankbar für eure mühe.
:):):):):)
 
Ja habe ich, leider zeigt er mir immer noch den selben fehler an :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 46

ich lese gerade paar docs und hoffe das ich so noch was heraus finden kann zum tema
mysql_fetch_array
 
Es liegt nicht am Fetch, sondern am SQL-Statement. Mach einmal bitte eine Probeausgabe von diesem und poste ihn hier ...
 
PHP:
Notice: Undefined index: id in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 8

Notice: Undefined index: fachstelle in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 9

Notice: Undefined index: Adresse in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 10

Notice: Undefined index: PLZ in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 11

Notice: Undefined index: Ort in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 12

Notice: Undefined index: Kontaktperson in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 13

Notice: Undefined index: Tel in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 14

Notice: Undefined index: Fax in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 15

Notice: Undefined index: EMail in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 16

Notice: Undefined index: Internet in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 17

Notice: Undefined index: Bemerkung in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 18

Notice: Undefined index: datum in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 20

Notice: Undefined index: id in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 44

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\formulare\fachstellen\php\editor.php on line 46
 
Zurück