Fehler vorhanden....

Wipeout

Erfahrenes Mitglied
Und zwar habe ich ein Update Script das, nach änderung in einem anderen script einfach die Datenbank updaten soll.

Das Script

PHP:
<?
ini_set("display_errors", 1);
error_reporting(E_ALL);
session_start();
if (!session_is_registered('benutzerein'))
{
echo"<center><b><font>Login fehlgeschlagen</font><br>";
echo"<a href=\"index.php?seite=login\" target=\"_self\"><font>zurück</font></a></b></center>";
}
$verbindung = mysql_pconnect("$host","$uname", "$pass");
if (!$verbindung)
{
echo"<br><center><b>:::::: Keine Verbindung zur Datenbank ::::::</b></center>";
exit;
}
mysql_select_db("$db");
if($icq=="0")
{
$icq="";
}
	print_r($_POST);
$name=addslashes($_POST['name']);
$email=addslashes($_POST['email']);
$homepage=addslashes($_POST['homepage']);
$icq=addslashes($_POST['icq']);
$message=urldecode($FCKeditor1);
$sqlanfrage=mysql_query('update wipigb set name='$_POST['name']',email='$_POST['email']',homepage='$_POST['homepage']',icq='$_POST['icq']',message='$_POST['message']' where id="'.(int)$_GET['id'].'";') or die ("Error: " .mysql_error());
echo"<center><font>Eintrag geändert</font><br>";
echo"<a href=\"index.php?seite=gb/auswahl\" target=\"_self\"><font>zurück</font></a></center>";
?>

und der Fehler


Parse error: syntax error, unexpected T_VARIABLE in /php/gb/update.php on line 27


Und bevor kuddel meckert ja ich weiss ich muss es überarbeiten und benutze wieder addslashes usw ;)
 
Verbesserte Zeile 27:
PHP:
$sqlanfrage=mysql_query('update wipigb set name='.$_POST['name'].',email='.$_POST['email'].',homepage='.$_POST['homepage'].',icq='.$_POST['icq'].',message='.$_POST['message'].' where id="'.(int)$_GET['id'].'";') or die ("Error: ".mysql_error());
Sorry, kann es nicht testen / auf weitere Fehler prüfen, ich muss jetzt ganz schnell ins Bett, morgen wieder Schule gegen 7:30 ._.
 
Ok der eine fehler ist nun weg nun habe ich nur noch diesen fehler

Code:
Array ( [name] => test [email] => Name@mail.de [homepage] => http:// [icq] => [FCKeditor1] =>
test
[update] => Update )
Notice: Undefined index: message in /php/gb/update.php on line 26
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 '@mail.de,homepage=http://,icq=,message= where id="0"' at line 1

Das Script sieht nun so aus

PHP:
<?
print_r($_POST);
ini_set("display_errors", 1);
error_reporting(E_ALL);
if (!session_is_registered('benutzerein'))
{
echo"<center><b><font>Login fehlgeschlagen</font><br>";
echo"<a href=\"index.php?seite=login\" target=\"_self\"><font>zurück</font></a></b></center>";
}
$verbindung = mysql_pconnect("$host","$uname", "$pass");
if (!$verbindung)
{
echo"<br><center><b>:::::: Keine Verbindung zur Datenbank ::::::</b></center>";
exit;
}
mysql_select_db("$db");
if($_POST['icq']=="0")
{
$icq="";
}
$name=addslashes($_POST['name']);
$email=addslashes($_POST['email']);
$homepage=addslashes($_POST['homepage']);
$icq=addslashes($_POST['icq']);
$message=urldecode($_POST['FCKeditor1']);
$sqlanfrage=mysql_query('update wipigb set name='.$_POST['name'].',email='.$_POST['email'].',homepage='.$_POST['homepage'].',icq='.$_POST['icq'].',message='.$_POST['message'].' where id="'.(int)$_GET['id'].'";') or die ("Error: ".mysql_error());
echo"<center><font>Eintrag geändert</font><br>";
echo"<a href=\"index.php?seite=gb/auswahl\" target=\"_self\"><font>zurück</font></a></center>";
?>
 
Hi,

Du musst den SQL-String so anpassen, dass die Werte in Hochkommata stehen. Lass Dir den String mal ausgeben, dann siehst Du, was ich meine.

LG
 
Du weißt, dass die Funktion die() das Script beendet? Also entweder direkt vor mysql_query oder im die (die(mysql_error() . "<br/>" . $sqlanfrage); )
 
Du weißt, dass die Funktion die() das Script beendet? Also entweder direkt vor mysql_query oder im die (die(mysql_error() . "<br/>" . $sqlanfrage); )

Jo das weis ich wohl es kommt trotzdem immer dieser Fehler


Code:
Array ( [name] => test [email] => Name@mail.de [homepage] => http:// [icq] => [FCKeditor1] =>

test dasdasdas
[update] => Update ) 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 '@mail.de,homepage=http://,icq=,message=

test dasdasdas
wh


die zeile sieht nun so aus

PHP:
$sqlanfrage=mysql_query('update wipigb set name='.$_POST['name'].',email='.$_POST['email'].',homepage='.$_POST['homepage'].',icq='.$_POST['icq'].',message='.$message.' where id="'.(int)$_GET['id'].'";') or die(mysql_error() . "<br/>" . $sqlanfrage);

für mich sieht das so aus das er ein problem mit der email hat kann mir aber nicht erklären warum.
btw localhost hatte ja nun diese . reingepackt in den string, was haben die zu bedeuten wollte ich letztes mal schon fragen.
 
Hi,

btw localhost hatte ja nun diese . reingepackt in den string, was haben die zu bedeuten wollte ich letztes mal schon fragen.

Na, jetzt wird mir einiges...
Das sind ja elementarste Grundlagen. Mit einem Punkt hängt man zwei Strings aneinander.
Und von dem mysql_query, den Du da gepostet hast, kann der Fehler nicht kommen. Der muss irgendwo anders sein.

LG
 
Zurück