Error in SQL Syntag near "U"... Brauche Hilfe

Nikke123

Mitglied
Hallo Leute,

Habe einen Skript geschrieben, der ein Update in einer Datenbank vornehmen soll. Hier mal der Quellcode. Nur das ganze geht einfach nicht mit der auch folgenden Fehlermeldung:

PHP:
<?php
$sql= "SELECT * FROM inhalt WHERE typ = '0'";
$query = mysql_query($sql) or die(mysql_error());
?>
<form action="index.php?site=website_texte_speichern" method="post">
<ul id="menu2">
<?php
while($erg = mysql_fetch_assoc($query)){
echo "
	<li><a href=\"#\" onclick=\"expand('".$erg['seite']."_aendern');\"> ".$erg['anzeigename']." </a>
		<div id=\"".$erg['seite']."_aendern\" style=\"display: none;\">
		<textarea name=\"".$erg['seite']."\" cols=\"70\" rows=\"10\">".$erg['inhalt']."</textarea>
		</div>
	</li>
	";
}
?>
</ul>
<input type="submit" value=" Speichern " style="margin: 200px 0px 0px 0px;"></input>
</form>

PHP:
<?php
$startseite = $_POST['startseite'];
$kontakt = $_POST['kontakt'];
$impressum = $_POST['impressum'];
$presse = $_POST['pressemitteilungen'];
$versand = $_POST['versand-und-verfuegbarkeit'];
$hilfe = $_POST['hilfe'];
$b1 = $_POST['bestellung-s1-text'];
$b2 = $_POST['bestellung-s2-text'];
$b3 = $_POST['bestellung-s3-text'];
$b4 = $_POST['bestellung-s4-text'];
$be = $_POST['bestellung-ende'];
$artikel = $_POST['artikel'];

$sql[1] = "UPDATE inhalt SET inhalt='$startseite' WHERE seite='startseite'";
$sql[2] = "UPDATE inhalt SET inhalt='$kontakt' WHERE seite='kontakt'";
$sql[3] = "UPDATE inhalt SET inhalt='$impressum' WHERE seite='impressum'";
$sql[4] = "UPDATE inhalt SET inhalt='$presse' WHERE seite='pressemitteilungen'";
$sql[5] = "UPDATE inhalt SET inhalt='$versand' WHERE seite='versand-und-verfuegbarkeit'";
$sql[6] = "UPDATE inhalt SET inhalt='$hilfe' WHERE seite='hilfe'";
$sql[7] = "UPDATE inhalt SET inhalt='$b1' WHERE seite='bestellung-s1-text'";
$sql[8] = "UPDATE inhalt SET inhalt='$b2' WHERE seite='bestellung-s2-text'";
$sql[9] = "UPDATE inhalt SET inhalt='$b3' WHERE seite='bestellung-s3-text'";
$sql[10] = "UPDATE inhalt SET inhalt='$b4' WHERE seite='bestellung-s4-text'";
$sql[11] = "UPDATE inhalt SET inhalt='$be' WHERE seite='bestellung-ende'";
$sql[12] = "UPDATE inhalt SET inhalt='$artikel' WHERE seite='artikel'";

for($i = 1; $i < 13; $i++){
	mysql_query($sql[$i]) or die(mysql_error());
}
?>

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 'U' at line 1

Für eure Hilfe wäre ich Dankbar, weil ich das check Syntax near 'U' nicht verstehe.

MFG
Niklas
 
Und anhand deiner Erklärung sollen wir jetzt herausfinden wie dein Aktueller Code aussieht?.
Wenn du Hilfe willst, dann solltest du uns ein wenig mehr helfen dir zu helfen.
 
Mein aktueller Code, ist der der oben steht. Der von dir dargelegte Link hat mir keine Hilfe und auch keine Änderung an der Ausgabe geboten
 
Also gleicher Code wie vorher und dafür eine andere Fehlermeldung?
Wie sehen die ausgegeben SQLs aus?

Nachtrag
So die SQLs ausgeben lassen:
PHP:
for($i = 1; $i < 13; $i++){
    echo ($sql[$i] . "<br />";
    mysql_query($sql[$i]) or die(mysql_error());
}
Nachher die Ausgabe hier reinkopieren
 
Bist Du sicher, dass in allen $_POST-Variablen etwas drin steht und nicht irgendwo NULL übergeben wird?
Fang das am besten ab mit
PHP:
if(isset($_POST['DEINE VARIABLE']))
{
$variable =$_POST['DEINE VARIABLE']
$sql[i] = "UPDATE inhalt SET inhalt='$variable' WHERE seite='DEINE SEITE'";
}
 
Bist Du sicher, dass in allen $_POST-Variablen etwas drin steht und nicht irgendwo NULL übergeben wird?
Fang das am besten ab mit
PHP:
if(isset($_POST['DEINE VARIABLE']))
{
$variable =$_POST['DEINE VARIABLE']
$sql[i] = "UPDATE inhalt SET inhalt='$variable' WHERE seite='DEINE SEITE'";
}

Und bumms leert ein böser böser Mensch deine Tabelle ;)

PHP:
if(isset($_POST['DEINE VARIABLE']))
{
$variable = mysql_real_escape_string($_POST['DEINE VARIABLE']);
$sql[i] = "UPDATE inhalt SET inhalt='$variable' WHERE seite='DEINE SEITE'";
}
 
Zurück