Antwort an „Felix Riesterer“ verfassen

Lieber MudGuard,

<?php
 try {
    $pdo = new PDO("mysql:host=$db_host; dbname=$db_name;", $db_user, $db_pass);
  } catch (PDOException $e) {
    die();
  }
  $insertSql = "INSERT INTO tabelle (spalte1, spalte2) VALUES (:wert1, :wert2);
  $insertStatement = $pdo->prepare($insertSql);
  $insertStatement->execute([
            'spalte1' => $_POST['param1'],
            'spalte2' => $_POST['param2']
   ]);

da sehe ich nirgends ein SET NAMES utf8. In meiner DB-Klasse ist der Aufruf dieser:

$t->pdo = new \PDO(
  sprintf(
    'mysql:dbname=%1$s;host=%2$s;port=%3$s;charset=UTF8;',
    $settings['name'],
    $settings['host'],
    $settings['port']
  ),
  $settings['user'],
  $settings['pw'],
  array(
    \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
    \PDO::MYSQL_ATTR_FOUND_ROWS => true,
    \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
  )
);

Vielleicht hilft Dir das ja schon weiter?

Liebe Grüße

Felix Riesterer

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen