質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1918閲覧

INSERT ... ON DUPLICATE KEY UPDATE 構文 構文エラー

teityann1225

総合スコア158

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/05/16 12:28

###コード

PHP

1 2<?php 3 4try { 5 6 /* リクエストから得たスーパーグローバル変数をチェックするなどの処理 */ 7 8 // データベースに接続 9 $pdo = new PDO( 10 'mysql:dbname=_data;host=mysql540.db.sakura.ne.jp;charset=utf8;username=te;password=te6', 11 12 '', 13 [ 14 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 15 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, 16 ] 17 ); 18 19 /* データベースから値を取ってきたり, データを挿入したりする処理 */ 20 echo"接続完了"; 21INSERT INTO table (a,b,c) VALUES (1,2,3) 22 ON DUPLICATE KEY UPDATE c=c+1; 23 24UPDATE table SET c=c+1 WHERE a=1; 25 26 27} catch (PDOException $e) { 28 29 // エラーが発生した場合は「500 Internal Server Error」でテキストとして表示して終了する 30 // - もし手抜きしたくない場合は普通にHTMLの表示を継続する 31 // - ここではエラー内容を表示しているが, 実際の商用環境ではログファイルに記録して, Webブラウザには出さないほうが望ましい 32 header('Content-Type: text/plain; charset=UTF-8', true, 500); 33 exit($e->getMessage()); 34 35} 36 37// Webブラウザにこれから表示するものがUTF-8で書かれたHTMLであることを伝える 38// (これか <meta charset="utf-8"> の最低限どちらか1つがあればいい. 両方あっても良い.) 39header('Content-Type: text/html; charset=utf-8'); 40 41?> 42<!DOCTYPE html> 43<html> 44 <head> 45 <meta charset="utf-8"> 46 <title>Example</title> 47 </head> 48 <body> 49 <!-- ここではHTMLを書く以外のことは一切しない --> 50 </body> 51</html>

###エラー内容
Parse error: syntax error, unexpected 'table' (T_STRING) in /www/PHP/bigData/index.php on line 20
参考資料
参考資料2
初心者ですいません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s8_chu

2017/05/16 12:40

PHPのコードにSQL文がそのまま書かれている気がするのですが、これは転記ミスでしょうか?
teityann1225

2017/05/16 12:50

このまま書いてはいけないのならどう描くのですか?
s8_chu

2017/05/16 13:02

まず、質問文から質問者さんが何を目的としてそのコードを書いたのかが読み取れません。質問者さんが何を目的としてそのコードを書いたのかを追記していただけませんか?
guest

回答1

0

ベストアンサー

テーブルの名前が「table」なんでしょうか?
この手のものは予約語として競合することもあるので
バッククォートで囲む処理することをお勧めします
基本的には予約語はテーブルやカラム名に使わないほうが賢明

投稿2017/05/16 12:48

編集2017/05/16 12:49
yambejp

総合スコア114777

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teityann1225

2017/05/16 12:52

ありがとうございます。以後気を付けます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問