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

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

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

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

1回答

1715閲覧

SQLSTATE[42000]のMysqlに関するエラーを直したいです。

amaturePy

総合スコア131

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2019/05/29 16:17

編集2019/05/30 14:34

CakePhPの新規登録フォーム作成で
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'getActiviationHash' at line 1
CakePHP2.x PHP7.1.23
sqlがMAMP上のphpmyadminも正常に動いているのですが、ターミナル上でservice sql status , sql versionを入れてもnot found で返ってきてしまうのでバージョンが分かりません。

というエラーに関して質問させて下さい。
自分のクエリ文に対してのエラーだと思うのですが、CakePHPの公式サイトを見ても文法エラーは見当たらないの
で、どなたかCakePHPにお詳しい方チェックして頂けないでしょうか。
よろしくお願いします。

<?php App::uses('AppController', 'Controller'); App::uses('CakeEmail','Network/Email'); class UsersController extends AppController { public function beforeFilter(){ parent::beforeFilter(); //$this->Auth->allow(array('signup','activate')); } public function signup(){ if($this->request->is('post')){ if($this->User->save($this->data)){ $url='activate/'.$this->User->id.'/'.$this->User->getActiviationHash(); $url=Router::url($url,true); $email=new CakeEmail(); $email->from(array('kentotamu@gmail.com' =>'Sender')); $email->to($this->data['User']['email']); $email->subject('Registration mail'); $email->send($url); $this->Session->setFlash('Please check Email'); }else{ $this->Session->setFlash('Error'); } } } public function activate($user_id=null,$in_hash=null){ $this->User->id=$user_id; if($this->User->exists() && $in_hash==$this->User->getActiviationHash() ){ $this->User->saveFiled('active',1); $this->Session->setFlash('Your registration is seccessed'); }else{ $this->Session->setFlash('Invalid link'); } } } ?> コード

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

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

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

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

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

m.ts10806

2019/05/29 21:00

タグにMySQLを追加しておいてください。 あとそれぞれのバージョンも。 これはPHPの文法エラーというよりSQLのエラーですね 念のためそれぞれ(PHP,CakePHP,MySQL)のバージョンを追記しておいてください
amaturePy

2019/05/30 14:29

承知しました。 修正いたします。
guest

回答1

0

ベストアンサー

「エラー: 1064 SQLSTATE: 42000」はパースエラーですね
不正なデータを渡していませんか?

MySQL :: MySQL 5.6 リファレンスマニュアル :: B.3 サーバーのエラーコードおよびメッセージ

投稿2019/05/31 02:34

yambejp

総合スコア114829

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

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

amaturePy

2019/05/31 09:55

返信が遅くなり申し訳ありませんでした。 確認したところ、渡しているデータに不備がありました。 解決いたしました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問