データベースに接続するための定数を定義します
define("DB_SERVER", "127.0.0.1");
define("DB_USER", "chutnej_app");
define("DB_PASS", "1234");
define("DB_NAME", "chutnej");
データベース接続を作成する
$connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
これはmysqlのテーブルです
CREATE TABLE category (
category_id INT NOT NULL AUTO_INCREMENT,
category_name VARCHAR(255) UNIQUE,
PRIMARY KEY (category_id)
)
ENGINE = InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
テーブルにいくつかのデータを入力します。
INSERT INTO category (category_name) VALUES ('Reportáže'), ('Rozhovory'), ('Místa');
テーブルから上記のデータを選択するために呼び出すこの関数
function get_category() {
global $connection;
$query = "SELECT * FROM category";
$categories = mysqli_query($connection, $query);
confirm_query($categories);
while($category = mysqli_fetch_array($categories)) {
echo "<option value=\"{$category['category_id']}\">{$category['category_name']} </option>";
}
}
結果:
<li>
<label for="article_category">Druh článku:</label><br />
<select name="article_category" id="article_category" type="text">
<option value="3">M�sta</option><option value="1">Report��e</option><option value="2">Rozhovory</option>
</select>
</li>
それが私がブラウザで得たものです。すべてのブラウザがこれを行います。ブラウザのエンコーディングはUTF-8に設定されています。誰が問題の原因を説明できますか? 少なくとも正しい方向に向けてください。それで十分です:)ステートメントでUTF8を指定するだけで、CREATE TABLE
エンコーディングの問題を解決できると思いました。