現在、Flashのフォームで受け取った値をPHP経由でMySQLへデータを格納するシステムを作成しています。
現在、詰まっている点とは、Flashで送信したデータがMySQLまで到達できないというところです。
少し分析してみたところ、PHPを単独でブラウザにて開くと
"フィールドが取得できません。"
と出力されていました。
これは、
-----
<?php
$setsuzoku = mysql_connect("localhost", "*****", "*****");
if (! $setsuzoku) {
die ("データベースに接続できません");
}
if (! mysql_select_db ("test")) {
die ("データベースが取得できません");
}
mysql_query("INSERT INTO rank VALUES('".$HTTP_GET_VARS['nickname']."', ".$HTTP_GET_VARS['score']);
if (!$fd) {
die ("フィールドが取得できません。");
}
// 処理が終わったことを知らせる
print('OK');
-----
というプログラムで動かしていまして、『mysql_select_db ("test")』まで動作しているのではないかと思われます。
ですので、もしかしたらFlash以前にPHPとSQLの連携がうまくいっていないような気がするのですが…どうでしょうか?
Flashからの情報を送信するシステムである以上、PHPで表示すると必ずこのような形になるのでしょうか?
ちなみにMySQLには、必要なDatabaseとテーブルを作成しました。
問題の切り分けは一応してみましたが、間違っているかもしれません。何かご教授頂ければ幸いです。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
>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
これってSQLが間違ってるってエラーじゃないですか?
>実は、このような形で記述していませんでした。
>これは、xxxにフォームで入れた値を入力するような形でよろしいのでしょうか?
http://www.hogehoge.com/hoge.php
みたいに記述して確認しているなら
$HTTP_GET_VARS['nickname']
$HTTP_GET_VARS['score']
の両方が空文字になるのでSQL文が
INSERT INTO rank VALUES('',
となってしまいます。これはエラーですよね。
(閉じ括弧がないので値が渡ってきてもエラーです)
例えば
nicknameにabc
scoreに100
を送りたいなら
http://www.hogehoge.com/hoge.php?nickname=abc&sc …
の様に記述します。
(日本語を送るときはURLエンコードしないといけません)
No.1
- 回答日時:
$fdがただの変数なら
$fd = mysql_query("INSERT INTO …略
とどこかで値を入れないとずっとtrueにはならないと思うのですが。
INSERTのSQLで失敗しているなら
mysql_error()でエラー文字列を取得できたはずなので
原因がわかると思います。
またはSQLをprintして確認してみてはどうでしょう?
>PHPを単独でブラウザにて開くと
GETで受け取っているならアドレスを
*.php?mickname=xxx&score=xxx
のような形式で記述していますか?
>Flashからの情報を送信するシステムである以上、
>PHPで表示すると必ずこのような形になるのでしょうか?
Flash→PHPでうまくいっているかどうかは
Flashから送ったデータをprintで確認してみればいいと思います。
print($HTTP_GET_VARS['nickname']);
この回答への補足
ご回答ありがとうございます。
返信が遅くなり、申し訳ありません。
---
mysql_error()とmysql_errno()の組み合わせで、エラーを出力してみました。
すると…
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
と出ました。
最初の質問段階で記述しませんでしたが、環境は以下の通りです。
OS/Windows server 2003
Apache/2.0.59 (Win32)
PHP/4.4.7(※_SERVER["HTTP_ACCEPT_LANGUAGE"] ja)
MySQL/4.1.22-community-nt(sjis)
エラーメッセージを検索にかけたところ、文字コードが関係しているように思えますが、もしかしてsjisに統一できていないのでしょうか?
以前はVine環境でしたが、SQLからFlashへデータを送る段階で文字化けを起こし、sjis環境に統一する意味でWindows serverに切り替えた経緯があります。
>*.php?mickname=xxx&score=xxx
実は、このような形で記述していませんでした。
これは、xxxにフォームで入れた値を入力するような形でよろしいのでしょうか?
申し訳ありませんが、さらにご教授頂ければ幸いです。
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
potplayerについて質問です
-
拡張子「swf」の再生方法について
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
-
Flashplayerの運用について
-
VBAのコンボボックスの年月表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FORMからPHP処理
-
クラスファイルでエラーが出て...
-
mysqlでphpinfoと実際のバージ...
-
php.iniの修正
-
MeCabの結果をWindows+PHPで取...
-
mysql_real_escape_stringについて
-
mysql_queryでのdelimiterの設...
-
ページング実装で2ページ目以...
-
LOAD DATA LOCAL INFILE
-
PHPからmySQLへINSERT文の実行
-
HTML
-
接続ができません
-
ODP.NETのバージョン確認
-
副問合せにLIKE文を使う方法は...
-
MySQLカラム名は日本語と英数字...
-
mysqlへのインポート処理がうま...
-
INT型は金額の型に使用するべき...
-
mysqlがインストールされている...
-
SQLのVARCHARとVARCHAR2の違い
-
VBAで変数内に保持された二次配...
おすすめ情報