VARIABLE, DB ABFRAGE
serega
- php
Hallo.
Bei Script1 wird durch ein Formular zwei Variablen übergeben.
Auf der darauf folgenden Seite möchte ich Variablen ausgegeben und in DB abschicken..
AenderungText.php:
echo "$textNa, $TEXT";
mysql("$DBName","UPDATE text SET text='$TEXT' WHERE textNa='$textNa'");
Ich bekomme beide Variablen (TEXT und textNa), aber im DB ändert nichts.
Ich habe für Prüfung kleine Test gemacht mit dise:
mysql("$DBName","UPDATE text SET text='kuku' WHERE textNa='privat'");
Das geht ohne Problem.
Ich vermute ein logische Fehler.
Kann mich jemand helfen?
Noch Script1:
Script1:
<form action='AenderungText.php' method='post'>";
<textarea name='TEXT' rows='20' cols='50'> kuku </textarea>
echo "<input type="hidden" name="textNa" value="privat">
<input type='submit' value=' Absenden '>
</form> ";
Hallo
Bei Script1 wird durch ein Formular zwei Variablen übergeben.
Auf der darauf folgenden Seite möchte ich Variablen ausgegeben und in DB abschicken..mysql("$DBName","UPDATE text SET text='$TEXT' WHERE textNa='$textNa'");
Versuche es mal mit mysql_query("UPDATE text SET text='$TEXT' WHERE textNa='$textNa'")
. Die Funktion mysql
gibt es in PHP nicht.
Tschö, Auge
Morgen!
Mit mysql ist alles in Ordnung, ich habe gleiche Funktion bei Übergabe von Texten genutzt. Aber mit mysql_query auch schon versucht - vergeblich.
Falls ich Variable durch normale Text ersetze, dann läuft alles.
Ich bekomme von erste script Variable als Array oder? ...
du bist auf dem holzweg junge ...
was macht die function mysql() ??? ich kenne sie nicht.
also wenn überhaupt, dann nutze die function mysql_query().
das du eine verbindung mit der mysql DB hergestellt hast und die table existiert, davon gehe ich mal aus.
das sieht dann so aus:
mysql_query("UPDATE table SET datum='$datum', wert='$wert', etc='$etc' WHERE tool='$tool'");
auf dein sache ummünzen musst du es schon selber.
nachtrag:
dasvorige bsp. war nicht ganz korrekt:
mssql_query($query, $db_con);
Morgen!
Mit Befehl mysql ist alles in Ordnung, ich habe gleiche Befehl bei Übergabe von Texten genutzt. Aber mit mysql_query auch schon versucht - vergeblich.
Falls ich Variable durch normale Text ersetze, dann läuft alles.
Ich bekomme von erste script Variable als Array oder? ...
Tag serega.
Falls ich Variable durch normale Text ersetze, dann läuft alles.
Ich bekomme von erste script Variable als Array oder? ...
Dann zeige uns doch mal, wie du die Variablen befüllst. Bisher wissen wir nur, dass sie aus einem Formular kommen, aber wie verarbeitest du diese Eingaben in deinem Script?
Siechfred
Ich bekomme 2 Variablen: $TextNa$TEXT und printe sie, um zu prüfen.
echo "$TextNa, $TEXT";
Tatsächlich kommen 2 richtige texte, z.B, "home, kuku"
Dann versuche ich mysqlAbfrage:
mysql("$DBName","UPDATE text SET text='$TEXT' WHERE textNa='$textNa'");
Und hie stoppt alles.
Falls ich mysql änderte, fann ist alle in Ordnung:
mysql("$DBName","UPDATE text SET text='kuku' WHERE textNa='home'");
Also, ich verstehe etwas mit Variablen nicht.
MfG
Ich bekomme 2 Variablen: $TextNa$TEXT und printe sie, um zu prüfen.
echo "$TextNa, $TEXT";
Tatsächlich kommen 2 richtige texte, z.B, "home, kuku"
Okay, dann scheint es da schon mal nicht zu klemmen.
Dann versuche ich mysqlAbfrage:
mysql("$DBName","UPDATE text SET text='$TEXT' WHERE textNa='$textNa'");
Wie dir bereits gesagt wurde, ist "mysql" keine native PHP-Funktion, sie muss also irgendwo definiert sein, entweder als eigene Funktion oder über irgendein Package, das du benutzt. Ich denke, dass es da klemmt. Also suche die Funktionsdefinition und zeige uns ihren Code bzw. sage, welches Package benutzt wird.
Siechfred
Hallo, leider kann ich nicht alles verstehen (nur seit paar Tagen damit beschäftige).
Die ganze Script ist so:
AenderungText.php
<?
mysql_connect("$DBHost","$DBUser","$DBPass");
echo "$textNa,$TEXT";
mysql("$DBName","UPDATE text SET text='$TEXT' WHERE textNa='$textNa'");
echo "</BODY></HTML>";
?>
Verbindung steht, script Probe.php ohne Problem:
Probe.php
<?
mysql_connect("$DBHost","$DBUser","$DBPass");
echo "$textNa,$TEXT";
mysql("$DBName","UPDATE text SET text='kuku' WHERE textNa='home'");
echo "</BODY></HTML>";
?>
Variable bekomme ich von Script1.php
Script1.php
<?
$textNa = "home";
echo "<form action='AenderungText.php' method='post'>";
echo " <textarea name='TEXT' rows='20' cols='50'> kuku </textarea> ";
echo "<input type="hidden" name="textNa" value="$textNa">
<input type='submit' value=' Absenden '>
</form> ";
}
?>
Best regards
Hallo, leider kann ich nicht alles verstehen (nur seit paar Tagen damit beschäftige).
Das ist schlecht. Aber wenn du einfach mal in die PHP-Dokumentation siehst, wirst du dort die Funktion "mysql" nicht finden: http://www.php.net/manual/en/ref.mysql.php.
mysql_connect("$DBHost","$DBUser","$DBPass");
mysql_connect ist eine PHP-Funktion, weshalb die Datenbankverbindung auch funktioniert. Du solltest einfach mal versuchen, ausschließlich Standard-Funktionen zu verwenden:
Ganz vereinfacht:
$link = mysql_connect($Server, $User, $Password) or die("Couldn't connect to database: " . mysql_error());
mysql_select_db($DBName) or die("Couldn't select $DBName");
$query = sprintf("UPDATE text SET text='%s' WHERE textNa='%s'",
mysql_real_escape_string($TEXT),
mysql_real_escape_string($textNA));
$result = mysql_query($query) or die("Error: " . mysql_error());
if($result) {
echo $DBName . " successfully updated!";
}
else {
echo $DBName . " update failed!";
}
mysql_close($link);
Siechfred
echo $begrüßung;
Bei Script1 wird durch ein Formular zwei Variablen übergeben.
Auf der darauf folgenden Seite möchte ich Variablen ausgegeben und in DB abschicken..
AenderungText.php:echo "$textNa, $TEXT";
mysql("$DBName","UPDATE text SET text='$TEXT' WHERE textNa='$textNa'");
Ich gehe mal davon aus, dass mysql() eine selbst definierte Funktion ist. Da du nicht zeigst, wie sie definiert ist, kann ich nur raten und allgmeine Hinweise geben.
echo "$verabschiedung $name";