
下記のプログラムを実行すると
Failed to create (table14_2)!
というエラーメッセージが出てしまい、テーブルを作ることができません。
どこが間違っていますか?
<?php
$hostname = *****
$username = *****
$password = ******
$dbname = 'testdb100';
$tablename = 'table14_2';
$create_query = "CREATE TABLE $tablename (Id INT NOT NULL AUTO_INCREMENT, ".
"UserName VARCHAR(20), ".
"Email_address VARCHAR(50), ".
"Phone_number INT ".
"Contents VARCHAR(500) ".
"PRIMARY KEY(Id)) CHARACTER SET utf8";
$result;
function is_table_exists()
{
global $link, $tablename, $create_query, $result;
$result = mysqli_query($link, "SHOW TABLES LIKE '" . $tablename . "'");
$table_exists = $result->num_rows ? true : false;
if (!$table_exists) {
$result = mysqli_query($link, $create_query);
if (!$result) {
exit("Failed to create ($tablename)!");
}
}
return $table_exists;
}
function show_table()
{
global $link, $tablename, $result;
$result = mysqli_query($link, "SELECT * FROM $tablename");
if (!$result) {
exit("Failed to show ($tablename)!");
}
while ($row_assoc = mysqli_fetch_assoc($result)) {
echo "<hr>";
echo "{$row_assoc['Id']}. " .
"{$row_assoc['UserName']} " .
"<br>";
echo "{$row_assoc['Contents']}";
}
echo "<hr>";
}
echo <<< EOT
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>14-1</title>
</head>
<body>
<h1> お問い合わせフォーム </h1>
EOT;
$link = mysqli_connect($hostname, $username, $password, $dbname);
if (! $link) exit("Connect error!");
is_table_exists();
show_table();
mysqli_free_result($result);
mysqli_close($link);
echo <<< EOT
<form method="post" action="14_2.php">
<button type="submit" name="transition" value="new_post">お問い合わせ</button>
</form>
</body>
</html>
EOT;
?>
No.2ベストアンサー
- 回答日時:
CREATE TABLE文の文字列で、2箇所、最後のカンマが抜けています
Phone_number INT,
Contents VARCHAR(500),
No.1
- 回答日時:
$create_query の内容が文法誤りを起こしてるみたいです。
https://www.bing.com/search?q=mysql+syntax+checker で見つかったところでチェックしてみた例。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
下記の問合せを行うクエリを、P...
-
LIMIT で条件を満たしているの...
-
エラー 1068 (42000): 複数の主...
-
SQLです!!教えてください。
-
select *, `人口(男)`AND`人口(...
-
SQLです!!教えてください。あ...
-
日本の全市区町村を人口密度が...
-
テーブル名が可変の場合のクエ...
-
#1062 - '0' は索引 'PRIMARY' ...
-
【投稿情報用データベース post...
-
SQLです!!教えてください。あ...
-
SQLです教えてくださいお願いし...
-
`picture` varchar(255) のコマ...
-
同一日に複数レコードがある場...
-
MAMP 99ドル約1.6万円 高い...
-
あってますか?SQL
-
WHERE `年月日` = '晴' OR `年...
-
SQLです教えてくださいお願いし...
-
SQLを作ったのですがうまくいき...
-
(初心者)MySQLやmaraDBで、crea...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php データ削除
-
SQL1回で、平均と合計を両方出...
-
Arrayってなんですか?
-
PDOでMySQL接続した際の文字化...
-
PHP+MySqlでの検索
-
phpでcsvをhtmlにしたい
-
phpで以下のようにHTMLで出力さ...
-
phpからdbへアクセスし、レコー...
-
PHPからMySQLへの検索
-
php テーブルを作れない
-
テーブルの最後のレコードしか...
-
MySQLにHTMLタグを挿入したい
-
集計表が作れない
-
GROUP_CONCATで条件指定
-
PHP の ファイルアップロード
-
PHP+MySQL で検索結果を横並び...
-
MySqlに、\\'の2つを含む文字を...
-
php、PDOでの接続とクエリの記...
-
PHP + MySQLを使用して詳細画面...
-
MySQLで0で検索できない
おすすめ情報