Problem mit UPDATE by ID, meldung erfolgreich ausgeführt aber dbinhalt wird nicht geändert!
Ich arbeite derzeit an einem kleinem Homeprojekt, was sich wie folgt zusammensetzt:
Anwendung (in Visual Basic programiert) greift auf eine PHP-datei zu die per POST mit Daten gefüttert wird.
Nun habe ich meine Php-Datei wie folgt aufgebaut:
Wenn ich im PHP-Admin den updatebefehl ausführe klapt alles. Über eine PHP-Datei (liegt auf selbem Server) funktioniert das UPDATE nicht!
Alle anderen PHP-Datein funktionieren einwandfrei, habe eine zum erstellen von neuen einträgen oder zum laden von einträgen aus der DB, auch das anzeigen klappt. Ich füge auch den code hinzu ausm VB mit dem ich die variablen übergebe:
Ich hoffe mir kann geholfen werden!
Anwendung (in Visual Basic programiert) greift auf eine PHP-datei zu die per POST mit Daten gefüttert wird.
Nun habe ich meine Php-Datei wie folgt aufgebaut:
<?php
require("settings.php");
if(isset($_POST["id"]) && isset($_POST["title"]) && isset($_POST["text"])){
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$tempid = addslashes($_POST["id"]);
$temptitle = addslashes($_POST["title"]);
$temptext = addslashes($_POST["text"]);
$sqlupdate = "UPDATE news SET title=$temptitle, text=$temptext WHERE id=$tempid";
$update = mysql_query($sqlupdate);
if ($sqlupdate == TRUE){
echo "News bearbeitet!";
} else {
echo "Error: " . $sqlupdate . "<br>" . $conn->error;
}
$conn->close();
}
else{
echo "Keine Daten gesetzt.";
}
?>
Alle anderen PHP-Datein funktionieren einwandfrei, habe eine zum erstellen von neuen einträgen oder zum laden von einträgen aus der DB, auch das anzeigen klappt. Ich füge auch den code hinzu ausm VB mit dem ich die variablen übergebe:
private void edit_news_save_Click(object sender, EventArgs e)
{
var request = (HttpWebRequest)WebRequest.Create("meine.adresse"); //das meine adresse habe ich nachträglich geändert!
var postData = "id=" + edit_news_id.Text; // txtnewNewsTitle
postData += "&title=" + edit_news_title.Text;
postData += "&text=" + edit_news_text.Text;
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
// lblStatus.Text = responseString;
MessageBox.Show(responseString);
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Dani am 23.02.2015 um 17:30:47 Uhr
Formatierung hinzugefügt.
Content-ID: 264312
Url: https://administrator.de/contentid/264312
Ausgedruckt am: 23.11.2024 um 03:11 Uhr
5 Kommentare
Neuester Kommentar
Öhm ... wie meinst du das: "...bist krank und nicht ganz aufnahmefähig..." du hast dich doch eben noch selber mit diesem Problem befasst und diesen Beitrag erstellt !
Hier, gleich der rote Kaste auf der Seite: http://de2.php.net/manual/en/function.mysql-query.php
Und als Alternative (s. roter Kasten im ersten Link): http://de2.php.net/manual/en/book.mysqli.php
Zeile 16 und 17 sollten wiefolgt lauten:
das ist zumindest was ich gemeint habe.
~Arano
Hier, gleich der rote Kaste auf der Seite: http://de2.php.net/manual/en/function.mysql-query.php
Und als Alternative (s. roter Kasten im ersten Link): http://de2.php.net/manual/en/book.mysqli.php
Zeile 16 und 17 sollten wiefolgt lauten:
$update = @mysqli_query($conn, $sqlupdate);
if ($update === TRUE){
~Arano