• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Fehler bei Insert into

Imbericle

Blogger
Bei folgendenden Script das ich zum testen von ner Datenbank eine Anbieters schrieb, wird wenn ich es über Xampp teste gesagt das sich in Zeile 46 (die Zeile von Insert into) ein Parse error
Parse error: parse error in C:\xampp\htdocs\2.php on line 46
befindet.

Ich kapier nicht was falsch ist:
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<title>Seite</title>
</head>
<body>
Hallo!!!!
<?php

if(!isset($_SERVER['REMOTE_ADDR']))
  {
    $IPAdresse="null";
  }
else
  {
    $IPAdresse=$_SERVER['REMOTE_ADDR'];
  }


if(!isset($_SERVER['HTTP_USER_AGENT']))
  {
    $Browser="null";
  }
else
   {
    $Browser=$_SERVER['HTTP_USER_AGENT'];
  }

  if(!isset($_SERVER['HTTP_REFERER']))
  {
    $AufgerufeneSeite="null";
    }    
else 
  {
    $AufgerufeneSeite=$_SERVER['HTTP_REFERER'];
  }
 


$Benutzer = mysql_conect("localhost", "zensierter Benutzer", "zensiertes Passwort")
or die ("Verbindung fehlgeschlagen");

mysql_select_db("Datenbank", $Benutzer);

INSERT INTO Tabelle (IP-Adresse,Browser,aufgerufene Seite)
VALUES ($IPAdresse,$Browser,$AufgerufeneSeite);
mysql_close();
?>
</body>
</html>
Wo liegt der Fehler, auch ein Validator und Debugger wusste nicht weiter
No suggestions available

MfG
 
mysql_select_db("Datenbank", $Benutzer);

Warum hast du hier die Variable $Benutzer beim Auswählen der DB eingefügt?

INSERT INTO Tabelle (IP-Adresse,Browser,aufgerufene Seite)
VALUES ($IPAdresse,$Browser,$AufgerufeneSeite);

Strings müssen in Anführungszeichen gesetzt werden, wenn ein SQL Befehl ausgeführt werden soll!

mysql_query("
INSERT INTO Tabelle (IP-Adresse,Browser,aufgerufene Seite)
VALUES ('$IPAdresse','$Browser','$AufgerufeneSeite')
");
 
mysql_query("
INSERT INTO Tabelle (IP-Adresse,Browser,aufgerufene Seite)
VALUES ('$IPAdresse','$Browser','$AufgerufeneSeite')
");

:roll: Das sind keine Strings sondern Variablen?
Wenn ich die mit anführungstrichen machte, würde ich schlcicht jedes mal $IPAdresse,$Browser,$AufgerufeneSeite Datenbank speichern, ich will den Inhalt der Variablen, und keine Strings
 
Warum hast du hier die Variable $Benutzer beim Auswählen der DB eingefügt?
Weil darin die Ressourcen-Id vom Connect zum DB-Server drinsteht. Braucht er in diesem Fall nicht (weil nur eine Verbindung hergestellt wurde), aber schaden tut es auch nichts.

Gruß thuemmy
 
müssen sie dies wirklich? gut zu wissen
wie erkennt dann bitte der php interpreter das es variablen sind und keine Strings, sie stehen ja schließlich in ' ' und das dürfte das $ doch entwerten?!

MfG
 
stimmt!
in solchen fällen soltest du den insert string unterbrechen und die variable anhängen, ca. in der art:

PHP:
$new = "INSERT INTO test  (folder) VALUES ('".$value."')";
 
also es klappt auch wunderbar mit meiner variante die oben bereits verwendet wurde
PHP:
INSERT INTO Tabelle (IP-Adresse,Browser,aufgerufene Seite)
VALUES ($IPAdresse,$Browser,$AufgerufeneSeite);

ohne irgendwas zu unterbrechen

MfG
 
Zurück
Oben