1

MySQL データベースに単純なテーブルを作成するためのこのコードのエラーがどこにあるのかわかりません。

<?php

// Create connection
$con=mysqli_connect("localhost", "administrator", "199992", "test");

// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// Select DB
mysqli_select_db($con, "test");

// Create table
$sql = "CREATE TABLE IF NOT EXISTS Notizen(Benutzer TEXT,Datum TEXT,Notiz TEXT)";  


これは実際に機能するはずですよね?
しかし、後で何かを挿入しようとすると:

if(!(empty($_POST[vorname]) and empty($_POST[nachname]) and empty($_POST[notiz]))) {
$sql = "INSERT INTO Notizen (Benutzer, Datum, Notiz)
    VALUES
    ('$_POST[vorname] $_POST[nachname]', 'datum', '$_POST[notiz]')"; 

if (!mysqli_query($con,$sql))
{
echo "Error: " . mysqli_error($con);
 }
}

エラーが発生します:

「エラー: テーブル 'test.notizen' が存在しません」.

4

3 に答える 3

5
  1. コードでわかるように、作成クエリを実行していません。で実行しmysqli_query($con,$sql)ます。
  2. Notizen (Benutzerテーブル作成クエリで、テーブル名と中かっこの間にスペースを入れます。
  3. エラー関数を使用してテーブルを作成し、クエリが実行されているかどうかを確認します。
于 2013-07-08T13:55:00.170 に答える
2

必ず mysqli_query() でクエリを実行してください..テーブル定義がデータベースに保存される前に挿入することはできません

于 2013-07-08T13:55:16.137 に答える
2

この行の後

$sql = "CREATE TABLE IF NOT EXISTS Notizen(Benutzer TEXT,Datum TEXT,Notiz TEXT)";  

実行する必要があります

if (!mysqli_query($con,$sql))
{
    echo "Error creating a database: " . mysqli_error($con);
}
于 2013-07-08T13:55:44.507 に答える