Update einer Chatfunktion
bearbeitet von 1unitedpower> Wenn Dir das zu doof ist, dann nutze [PDO](http://php.net/manual/en/class.pdo.php). Dort kannst Du das so notieren:
>
> ~~~ php
> $statement = $myPDO->prepare(
> 'INSERT INTO chat ('
> . 'message_writer, message, message_date'
> . ') VALUES ('
> . ':message_writer, :message, :message_date'
> . ');'
> );
>
> $statement->execute(array(
> ':message_writer' => $_SESSION['user_name'],
> ':message' => $_POST['chat'],
> ':message_date' => time()
> ));
> ~~~
>
> Diese PDO-Kiste sorgt dafür, dass die potenziell bösartigen Daten in einer Weise kodiert werden, die Dein Programm nicht kaputt machen.
mysqli bietet im Übrigen auch Unterstützung für prepared statements. Der Kontextwechsel findet dort allerdings nicht ganz automatisch wie bei PDO statt, man muss bei der Übergabe der Variablen noch zusätzliche Typinformationen mitgeben[^1].
~~~php
$statement = $mysqli->prepare("INSERT INTO chat(message_writer, message, message_date) VALUES (?,?,?)");
$statement->bind_param("isi", $_SESSION["user_name"], $_POST["chat"], time());
~~~
[^1]: Warum auch immer.
>
> ~~~ php
> $statement = $myPDO->prepare(
> 'INSERT INTO chat ('
> . 'message_writer, message, message_date'
> . ') VALUES ('
> . ':message_writer, :message, :message_date'
> . ');'
> );
>
> $statement->execute(array(
> ':message_writer' => $_SESSION['user_name'],
> ':message' => $_POST['chat'],
> ':message_date' => time()
> ));
> ~~~
>
> Diese PDO-Kiste sorgt dafür, dass die potenziell bösartigen Daten in einer Weise kodiert werden, die Dein Programm nicht kaputt machen.
mysqli bietet im Übrigen auch Unterstützung für prepared statements. Der Kontextwechsel findet dort allerdings nicht ganz automatisch wie bei PDO statt, man muss bei der Übergabe der Variablen noch zusätzliche Typinformationen mitgeben[^1].
~~~php
$statement = $mysqli->prepare("INSERT INTO chat(message_writer, message, message_date) VALUES (?,?,?)");
$statement->bind_param("isi", $_SESSION["user_name"], $_POST["chat"], time());
~~~
[^1]: Warum auch immer.
Update einer Chatfunktion
bearbeitet von 1unitedpower> Wenn Dir das zu doof ist, dann nutze [PDO](http://php.net/manual/en/class.pdo.php). Dort kannst Du das so notieren:
>
> ~~~ php
> $statement = $myPDO->prepare(
> 'INSERT INTO chat ('
> . 'message_writer, message, message_date'
> . ') VALUES ('
> . ':message_writer, :message, :message_date'
> . ');'
> );
>
> $statement->execute(array(
> ':message_writer' => $_SESSION['user_name'],
> ':message' => $_POST['chat'],
> ':message_date' => time()
> ));
> ~~~
>
> Diese PDO-Kiste sorgt dafür, dass die potenziell bösartigen Daten in einer Weise kodiert werden, die Dein Programm nicht kaputt machen.
mysqli bietet im Übrigen auch Unterstützung für prepared statements. Der Kontextwechsel findet dort allerdings nicht ganz automatisch wie bei PDO statt, man muss bei der Übergabe der Variablen noch zusätzliche Typinformationen mitgeben[^1].
~~~php
$statement = $mysqli->prepare("INSERT INTO chat(message_writer, message, message_date) VALUES (?,?,?)");
$statement->bind_param("isi", $_SESSION["user_name"], $_POST["chat"],time());
~~~
[^1]: Warum auch immer.