W pierwszej kolejności zrób kopie bazy danych.
Spróbuj w cPanel (hosting webd) z poziomu phpMyAdmin wykonać takie polecenie
ALTER DATABASE `nazwa_bazy_danych` CHARACTER SET utf8 COLLATE utf8_general_ci;
dla całej bazy danych, żeby nie musieć pisać ciągle w kodzie php
$polaczenie->query('SET CHARACTER_SET utf8_general_ci');
używanie znaku @ chyba od wersji php 5.3+ (nie pamiętam za bardzo
) zaleca się unikanie tego operatora na rzecz obsługi błędów przy użyciu mechanizmów jak try...catch (dla obsługi wyjątków) lub error_reporting (dla zarządzania raportowaniem błędów).
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
session_start();
require_once "mysql.php";
/*
$dB_Data['host'] = 'localhost';
$dB_Data['name'] = 'database';
$dB_Data['user'] = 'username';
$dB_Data['pass'] = 'password';
$dB_Data['char'] = 'utf8mb4'; // nowe pole
*/
try {
$dsn = "mysql:host={$dB_Data['host']};dbname={$dB_Data['name']};charset={$dB_Data['char']}";
$conn = new PDO($dsn, $dB_Data['user'], $dB_Data['pass']);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//echo 'Connected correctly';
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
exit();
}
echo '<center><div id="maintheme" style="font-size: 35px; font-family: Garamond, serif;">'
. 'Odczyt mat sensorycznych</div></center>';
/*
$sql = "SELECT id, firstname, lastname FROM users";
$stmt = $conn->query($sql);
while (($row = $stmt->fetch(PDO::FETCH_ASSOC)) !== false) {
echo $row['firstname'];
}
// lub
$sql = "SELECT id, firstname, lastname FROM users WHERE id=:users_id";
$stmt = $conn-prepare($sql);
$stmt->execute([':users_id' => 1]);
while (($row = $stmt->fetch(PDO::FETCH_ASSOC)) !== false) {
echo $row['firstname'];
}
// lub np.
$sql = "SELECT id, firstname, lastname FROM users";
$stmt = $conn->query($sql);
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($users as $user) {
echo "{$user['firstname']} {$user['lastname']}<br>";
}
*/
require_once 'rooms.php';
$rooms_in_row = 2;
// zamknięcie połączenia
//$conn = null;
?>