-
php/mysql: UPDATE??
seas;
mit dem folgendem script möchte ich gerne einträge in einer mysql datenbank (dbname=ital) in der tabelle "vok" ändern.
mit $_POST[$int.'|ger']) ($_POST[$int.'|ital']) werden die inhalte aus den textfeldern der vorherigen seite übernommen;
mit "echo 'test '.$int.' '.$ger.' '.$ital.'<br>';" werden diese testeweise auch richtig ausgegeben
nur leider nicht in die tabelle eingetragen.
vllt kann mir ja jmd helfen...
PHP-Code:
<?
include("connect.php");
?>
<html>
<head>
<title>mhhh</title>
</head>
<body>
<?PHP
$abfrage = "SELECT * FROM vok";
$ergebnis = mysql_query($abfrage, $conn);
while($row = mysql_fetch_object($ergebnis))
{
$int = $row->int;
if (($_POST[$int.'|ger']) AND ($_POST[$int.'|ital']))
{
$ger = $_POST[$int.'|ger'];
$ital = $_POST[$int.'|ital'];
echo 'test '.$int.' '.$ger.' '.$ital.'<br>';
$change = "UPDATE vok Set ger='$ger', ital='$ital' WHERE int='$int'";
mysql_query($change);
}
}
cu
CHristoph
-
wie wärs, wenn du direkt nach deiner query ein
echo mysql_error();
machst? :D
das hilft oftmals einen fehler zu finden.
und was auch noch hilft, ist ein
echo $change kurz bevor du die query absetzt..
greetz
-
seas;
also echo $change; gibt schon das richtige aus:
Code:
UPDATE vok Set ger='gehen', ital='andare' WHERE int='1'
wenn ich das ganze ohne hochkomma mache (wie es auch auf http://dev.mysql.com/ zu finden ist) hilft es auch nichts;
echo mysql_error(); sagt:
Code:
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 'int = '1'' at line 1
naja, ich habe mysql 5.0 laut manual müsste aber der syntax so stimmen; (bis auf die hochkomma; aber ohne die funktioniert es auch nicht - und mein buch sagt eg das man die machen soll/muss)
cu
CHristoph
-
ich glaube das problem kommt von deiner spalte "int" ... int ist ein verwendeter begriff von mysql, und wahrscheinlich verursacht das den fehler.
-
-
seas;
besten dankt!
habe die spalte int jetzt in id (wie sie ja auch schon immer heißen sollte :rolleyes: ) umbenannt.
wie zu erwarten war funktioniert nun alles;
danke noch für den link. so eine liste ist ja wirklich sehr nützlich.
cu
CHristoph
-
Mal als Tip: Schalte in der PHP.ini mysql.trace_mode auf on dann werden dir solche Fehler besser angezeigt.
-