mysql error 1064

2011年8月18日 at 14:49

はじめまして、お世話になります。
concrete5.4.1.1.1.jaをインストールしています。

FTPでのアップロードを自動選択で行っていたため、本家サイトフォーラムにある(下記)状態になっていました。
http://www.concrete5.org/community/forums/installation/sql-error-on-install-of-5-4-1-1/#122062

自動選択では、txt/htm/html/cgi/php/pl/cssの拡張子のファイルはアスキー転送、それ以外はバイナリー転送になっていましたので、追加でsql/ini/xmlを追加に再インストールしたところ大幅に改善されました。

しかしながら、現在も下記のエラーが上がっており、皆様のご指導を頂きたく書込みいたしました。

mysql error: [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 '' at line 1] in EXECUTE("")

PHP.iniの設定、SQLファイルのUTF-8化、MySQLの接続照合順序の設定は行っています。

サーバーのバージョン等
OS:CentOS5.5
Apache:2.2.17
PHP:5.1.6
MySQL:5.0.77

どの部分でエラーが上がってるかを調べる方法でも構いません。
お知恵を貸してください。
宜しくお願いします。

Re: mysql error 1064

2011年8月18日 at 17:47
インストール時のエラーでしょうか?

だとすると
concrete/config/install/schema.sqlの一つ目のSQLを実行時にエラーが出ているようです。
原因は良く分かりませんが、改行コード?文字コード?先頭行にごみが入っている?
などの問題があるかもしれません。
schema.sqlの先頭の2行の改行を消してインストールしてみるとどうでしょう?

concrete5の推奨はPHP5.2以上のようです。そのあたりの影響ないんでしょうかねぇ?
 

Re: Re: mysql error 1064

2011年8月18日 at 18:45
早速のアドバイスありがとうございます。
ご指摘の2行を消して進めたところ、前出のエラーはなくなりました。
ありがとうございます。

ただ・・どうも一度に表示されていたエラーが小刻みに出るようになったみたいです。
ちょっと前に良く見た(下記)のエラーが表示されました・・・涙

mysql error: [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 'CREATE TABLE AreaGroupBlockTypes ( cID INTEGER(10) UNSIG' at line 1] in EXECUTE("CREATE TABLE AreaGroupBlockTypes ( cID INTEGER(10) UNSIGNED NOT NULL DEFAULT 0, arHandle VARCHAR(255) NOT NULL, gID INTEGER(10) UNSIGNED NOT NULL DEFAULT 0, uID INTEGER(10) UNSIGNED NOT NULL DEFAULT 0, btID INTEGER(10) UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (cID, arHandle, gID, uID, btID) );")

色々と調べて対処してみます。
 

Re: Re: Re: mysql error 1064

2011年8月18日 at 20:04
・phpmyadminでエラーの出たSQL文を実行してみる。
  テーブルが作成できるとsqlファイルに問題があり、作成できなければphpの設定
  に問題があり、その区分けができます。

・CENTOSのFTPサーバを疑う。
  FTP以外の方法でファイル転送してインストール。
  またはphpmyadminでクライアントからschema.sqlをインポートする。
  成功すればFTPアップロード時に何らかの問題があるのではないかと推測します。

テスト方法としては上記内容が浮かびます。
 

Re: Re: Re: Re: mysql error 1064

2011年8月19日 at 8:43
いろいろとご助言ありがとうございます。
ご指摘のとおり確認してみました。

エラーの中の2行目にあるシングルクォーテションに囲まれた部位
「 CREATE TABLE AreaGroupBlockTypes ( cID INTEGER(10) UNSIG 」
を実行してみました。
見て分かるとおり、中途半端なコマンドなのでMySQLでもエラーがあがりました。
「 CREATE TABLE AreaGroupBlockTypes ( cID INTEGER(10)) 」
として実行したところ上手く作動しましたのでMySQLの問題ではないと思いました。

次にschema.sqlをインポートし実行したところ、問題なく作動しましたので、FTPによるアップロードが問題だと思います。FTPはFFFTPとALFTPを使いましたが、どちらでも同じ現象、あとサーバーも2箇所で試しましたが同じような現象が出ますので、完全に個人スキルが怪しいと思ってます。
親切なレンタルサーバーなのでFTPでのアップロードについて少し聞いてみます。
また結果を報告させていただきます、ありがとうございます。
 

Re: Re: Re: Re: Re: mysql error 1064

2011年8月19日 at 8:54
レンタルサーバーだったのですか。自作サーバーでの作業と勘違いしていました。すみません。
フォーラムに投稿されるときにレンタルサーバーの会社名、プラン名を書かれるといいですよ。より具体的なアドバイスをもらえると思います。
 

Re: Re: Re: Re: Re: Re: mysql error 1064

2011年8月19日 at 9:23
はい、ありがとうございます。

問題がたぶん私のスキルにあると思ってますので、インストールできたら一連をまとめてレンタルサーバーも書こうと思ってました。
私のような不慣れな人間でもインストールがしやすくなるようにと思っています。
 

Re: Re: Re: Re: Re: Re: mysql error 1064

2011年8月20日 at 13:19
インストールに成功いたしました!

原因は、*.sqlファイルの文字コードをutf-8に変換保存したときに、BOM付きで保存してしまった事でした。
Utf-8Nにて変換保存しインストールを進めたところ成功いたしました。
数々のご助言ありがとうございました。

サーバー会社に確認がとれたら、個別インストールの方に書込みたいと思います。
 

Re: Re: Re: Re: Re: Re: Re: mysql error 1064

2011年8月20日 at 13:34
BOM有り無しですか・・・・
僕も勉強になりました。