syraneus
Goto Top

Parse error, syntax error, unexpected T-CONSTANT-ENCAPSED-STRING

Hi, ich bastel gerade an einem PHP-Skript das Informationen wie Name, Vorname, Ort,..... aus einem HTML-Formular entgegennimmt und in eine Datenbank einträgt. Das entgegennehmen hab ich geschafft. ausgeben lassen kann ich die daten auch. aber wenn ich versuche die sachen in die datenbank zu schreiben bekomme ich folgende Fehlermeldung

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\xampp\htdocs\xampp\neuerbenutzer.php on line 40

jedoch werde ich aus der meldung nicht schlau. laut google kann es sich um ein problem mit dem verbinden der Strings handeln. aber ich verbinde keine strings. deswegen hat mich google auch nicht wirklich weiter gebracht. ich bin mir sicher, das es nur eine kleinigkeit ist wo der fehler liegt.

Hier mal der Quelltext


<html>
<head>
</head>
<body>

<?php

import_request_variables('gp','url_');
$Name= "$url_Name";
$Vorname= "$url_Vorname";
$Ort= "$url_Ort";
$Kategorie= "$url_Kategorie";
$Startgebuehr= "$url_Startgebuehr";
ECHO
"
\n <br> Name = $Name
\n <br> Vorname = $Vorname
\n <br> Ort = $Ort
\n <br> Kategorie = $Kategorie
\n <br> Startgebuehr = $Startgebuehr" ;

error_reporting(E_ALL);


mysql_connect(localhost, Johannes, start);
mysql_select_db('sommerbiathlon');


$sql = "INSERT INTO `teilnehmer` (`Name`,`Vorname`,`Ort`,`Kategorie`,`Startgebuehr`)

VALUES
('$Name','$Vorname','$Ort','$Kategorie','$Startgebuehr')";


mysql_query($sql) or die(mysql_error()'<hr />'.$sql.'<hr />');


$result2 = mysql_query("Select * From `teilnehmer`");

while($row = mysql_fetch_object($result2))
{
echo $row->Name;
}


ECHO "
\n <br> \n <br> \n <br> Die Seite wurde bis zum Ende abgearbeitet";

?>

</body>
</html>


Ich kann leider keinen fehler entdecken. Die Datenbank gibt es und die Tabellen gibt es auch. und die spalten in der Tabelle gibt es auch. also daran liegt es nicht. und der benutzer hat auch alle rechte auf der datenbank. Ich bin für jede hilfe dankbar.

mfg DerChirurg

Content-Key: 92073

Url: https://administrator.de/contentid/92073

Printed on: April 25, 2024 at 07:04 o'clock

Member: SlainteMhath
SlainteMhath Jul 15, 2008 at 14:06:07 (UTC)
Goto Top
Hi,

mysql_connect(localhost, Johannes, start);
Die Literale solltest Du in " oder ' setzen.

Kleiner Tipp:
Den Code in Deinem Post solltest Du in code-Tags setzen, dann isses besser zu lesen.
Evtl. hilfts auch, wenn Du mal die Zeile 40 markierst, dann is die Suche etwas einfacher.

lg,
slainte
Member: wakko
wakko Jul 15, 2008 at 14:09:51 (UTC)
Goto Top
Moin,

schätze mal Zeile 40 ist das:
mysql_query($sql) or die(mysql_error()'<hr />'.$sql.'<hr />');  
und müßte
mysql_query($sql) or die(mysql_error().'<hr />'.$sql.'<hr />');  
lauten (Punkt zwichen mysql_error() und '<hr />'.
MfG
Member: Mitchell
Mitchell Jul 15, 2008 at 18:18:22 (UTC)
Goto Top
schätze mal Zeile 40 ist das:

dann vergewissere dich bitte, ob es auch die Zeile ist face-smile

Mfg

Mitchell

PS: Bitte den Code, wie mein Vorredner sagte, in die entsprechenden Tags setzen.
Member: SnowStar
SnowStar Jul 15, 2008 at 18:23:30 (UTC)
Goto Top
Hätte mal Offtopic eine Frage dazu:
Würde das Script wie folgt schreiben, wo sind Vor- und Nachteile?

<?php
error_reporting(E_ALL); // Nur zur Fehlersuche!
if (isset($_REQUEST['url_Name'])){ $Name= $_REQUEST['url_Name'];} // else { $Name = 'xyz'; }  
if (isset($_REQUEST['url_Vorname'])){ $Vorname= $_REQUEST['url_Vorname'];}  
if (isset($_REQUEST['url_Ort'])){ $Ort= $_REQUEST['url_Ort'];}  
if (isset($_REQUEST['url_Kategorie'])){ $Kategorie= $_REQUEST['url_Kategorie'];}  
if (isset($_REQUEST['url_Startgebuehr'])){ $Startgebuehr= $_REQUEST['url_Startgebuehr'];}  
// wenn möglich $_POST['variablenname'] , besser auch if(isset()) für alle Indizes gemeinsam 
echo
"\r\n".'<br /> Name = '.$Name.  
"\r\n".'<br /> Vorname = '.$Vorname.  
"\r\n".'<br /> Ort = '.$Ort.  
"\r\n".'<br /> Kategorie = '.$Kategorie.  
"\r\n".'<br /> Startgeb&uuml;hr = '.$Startgebuehr;  
// schöner im quelltext - noch schöner '<br />' und "\r\n" an Zeilenende wenn möglich 
// \r\n für Windows-Quelltextleser
// zwischenschritt über $Name, $Vorname ...unbedingt nötig?
$db_server = 'localhost';  
$db_user = 'Johannes';  
$db_pwd = 'start';  
$db_name = 'sommerbiathlon';  
// schöner: include() für zentral abgelegte MySQL Zugangsdaten
mysql_connect($db_server,$db_user,$db_pwd) or die ('Keine Verbindung m&ouml;glich.');  
mysql_select_db($db_name) or die ('Die Datenbank '.$db_name.' existiert nicht.');  

$sql = 'INSERT INTO teilnehmer (\'Name\',\'Vorname\',\'Ort\',\'Kategorie\',\'Startgebuehr\')  
	VALUES
	(\''.$Name.'\',\''.$Vorname.'\',\''.$Ort.'\',\''.$Kategorie.'\',\''.$Startgebuehr.'\')';  

mysql_query($sql) or die (mysql_error()."\r\n".'<hr />'."\r\n".'Fehler in Query Nummer 1');  
// bloss nicht das tatsächliche Query ausgeben!

$result2 = mysql_query('SELECT Name FROM teilnehmer');  
// nicht mehr Daten als nötig
while($row = mysql_fetch_row($result2)){
	echo $row['0'].'<br />'."\r\n";  
}

echo '<br />'."\r\n".  
	'<br />'."\r\n".  
	'<br />'."\r\n".  
	'Die Seite wurde bis zum Ende abgearbeitet.';  
?>
Member: Syraneus
Syraneus Jul 15, 2008 at 20:38:49 (UTC)
Goto Top
hi, ich kann das erst morgen ausprobieren. weil ich hier grad die umgebung nicht dazu hab.

aber der befehl würde doch so wie ich will die sachen in die datenbank schreiben.


und noch ne frage, wie mach ich das der die zeilen mitzähl und so unterschiedlich die zeilen farbig macht. so wie mein vorredner? das wollte ich auch, aber habs irgendwie nicht hinbekommen. danke.

ich werd mich morgen nochmal melden, wo ich dann sag obs funktioniert
Member: Mitchell
Mitchell Jul 15, 2008 at 23:51:04 (UTC)
Goto Top
@ Chirurg,

sieh dir mal über dem Text, den du nachher als Antwort eingibst, die Zeile an. Da steht auch "Formatierungshilfe", wodurch du dann Formatting instructions in the posts kommst. Sieh es dir mal an face-smile

@SnowStar,

dadurch wird der Code mit Zeilennummer versehen, was in einem langen Script für die Helfer sehr nützlich ist. Dadurch muss keiner rumsuchen, bis er die entsprechende Zeile gefunden hat (was bei Scripten mit 100 Zeilen sehr nervenaufreibend ist). Sieh dir auch mal die Formatierungshilfe an, du kannst PHP-Code extra kennzeichnen, dadurch wird's farbig.

Mfg

Mitchell