Syntax-Error

Ive

Mitglied
Hallo...
Im Moment seh ich den Wald vor lauter Bäumen nicht....

PHP:
$this->connection->query ("UPDATE `sessions` SET `values` = '" . $row["values"] . "\n" . $key . "=" . $value . "\n', `_lastUpdate` = NOW()");

$connection ist auch ein Objekt

Und der Fehler wird angezeigt: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in ... on line 24

Ich hoffe ihr habt einen Rat für mich
 
Wie soll man denn den Fehler finden, wenn du die Funktionsdefinition von query nicht dazuschreibst? Aber ich nehme an, die Funktion query benötigt nur einen einzigen String, wie es auch bei mysql_query der Fall ist.

Die Antwort auf deine Frage lautet in diesem Fall: Der Fehler liegt nicht in der Zeile, die du hier präsentierst. Der String ist nämlich korrekt. Du solltest statt dessen einen Blick in die vorhergehenden Zeilen in deinem Code werfen. Dass der Interpreter in dieser Zeile auf einen Fehler stößt, heißt nicht, dass der Fehler in dieser Zeile liegt!

-Gawayn
 
Gawayn hat gesagt.:
Dass der Interpreter in dieser Zeile auf einen Fehler stößt, heißt nicht, dass der Fehler in dieser Zeile liegt!
-Gawayn

Das ist mir schon klar...
PHP:
$row = mysql_fetch_assoc ($result);
$this->_connection->query ("UPDATE `sessions` SET `values` = '" . $row["values"] . "\n" . $key . "=" . $value . "\n', `_lastUpdate` = NOW()");
wenn ich das so schreibe ist der Fehler in der Zeile 24.


Schreibe ich das aber so:
PHP:
$row = mysql_fetch_assoc ($result);
print "test";
$this->_connection->query ("UPDATE `sessions` SET `values` = '" . $row["values"] . "\n" . $key . "=" . $value . "\n', `_lastUpdate` = NOW()");
ist der Fehler in der Zeile 25, d.h. der Fehler muss in der Zeile sein. Und in der Funktion query ist auch kein Fehler! Diese Funktion benutze ich nämlich schon oftmals vorher
 
Wenn ich deinen Code bei mir teste, bekomme ich keine Fehlermeldung. Daher kann ich aus deinem Code nicht ablesen, woran es liegt!
 
Okay... meine derzeitige Session-Klasse... die Session-Werte sollen in einer Datenbank gespeichert werden...
PHP:
class Session
{
private $_uid;
private $_connection;
 
public function __construct ($uid, $connection)
{
	$this->_uid = $uid;
	$this->_connection = $connection;
}
 
public function setValue ($key, $value)
{
	$result = $this->_connection->query ("SELECT `uid`, `values` FROM `sessions` WHERE `uid` = '" . $uid . "'");
	if ($anzahlUID == 0)
	{
	 $this->_connection->query ("INSERT INTO `pc__sessions` (`values`, `_lastUpdate`) VALUES ('" . $key . "=" . $value . "\n', NOW())");
	}
	else 
	{
	 $row = mysql_fetch_assoc ($result);
	 $this->_connection->query ("UPDATE `pc__sessions` SET `values` = '" . $row["values"] . "\n" . $key . "=" . $value . "\n', `_lastUpdate` = NOW()");
	}
}
}

und hier die mysql-Klasse:

PHP:
class Mysqlconnect 
{
var $_sqlResult;
 
function Mysqlconnect ($host, $usr, $pw, $db)
{ 
$this->_link = mysql_connect ($host, $usr, $pw); 
mysql_select_db ($db);
}
function query ($query)
{
$this->_sqlResult = mysql_query ($query);
	return $this->_sqlResult;
}
}

und hier wird alles aufgerufen:

PHP:
$connection = new Mysqlconnect (host, user, pw, tbl);
$session = new Session (1, $connection);
$session->setValue ("a", "hallo");
 
Zuletzt bearbeitet:
Zurück