2011-01-24 9 views
1

私のPHPファイルの1つが、データベースにレコードを挿入するクエリを実行します。コードは次のとおりです。IEのみがPHP/MySQLクエリを正しく実行します!

$query = "INSERT INTO conversations (viID, moID, viTyping, moTyping, priority, status, open, mOpen, lastMsgID, searched) VALUES ('1999', 0, 0, 0, 0, 0, 1, 1, 0, 'yahh')"; 
$result = mysql_query($query); 

通常、値は動的に生成されます。しかし、何が原因でクエリが失敗するのかを調べるために、値をクエリ自体にハードコーディングしました。

1)IEを使用すると、クエリは正常に実行され、必要なすべての値を含むレコードが挿入されます。

2)他のブラウザを使用している場合、「yahh」の値が挿入されていない点を除いて、クエリは正常に実行されます。他のすべての値は、必要に応じて挿入されます。

3)phpMyAdminにクエリをコピー&ペーストすると、クエリは正常に実行され、すべての値(「yahh」を含む)が挿入されます。

どのようにクエリを実行しても、エラーは報告されません。

これは私が見た中で最も奇妙なバグです。私はこれが何を引き起こしているのか分かりません。それはブラウザがそれとは関係がないように思われる!

ありがとうございました!

+1

'error_reporting()'をオンにする –

+0

@Michaelテーブルヘッダーの構造を表示できますか? – Marnix

+3

IEはコードを実行しません。これはサーバー側で実行されます。 –

答えて

2

これらのコード行だけで正常に動作するはずです。

このコードの原因となっているブラウザ機能(ユーザーエージェントの文字列、Cookieの処理、クエリ文字列、ヘッダーなどの検査)に依存する、クエリの前に実行中のコードがあります。誤動作する

作業中のファイルのソース全体のように、より多くのコードを投稿すると、問題をより簡単に明らかにすることができます。

<input type="image" name="searched" value="foo"> 

...と後であなたにはこのようにそれを処理:

$sql .= $_POST['searched']; 

Internet Explorerは知っていた

+0

...実際のコードを見たことはありませんでした... –

0

私の水晶玉は、あなたがあなたの形で、このような要素を持っていることを示唆しています

http://www.kilbot.com.au/2008/05/03/using-the-image-input-type-to-post-a-form-in-ie/

image入力フィールドの問題0

あなたのフォームレイアウトを変更する必要があるのではないかと心配しています。いくつかのアイデアについては上記のリンクを参照してください。

関連する問題