0

ねえ...だから私は以下のクエリを実行しようとしましたが、それは実行されません。私はチェックしました:

  • フォームのフィールド数は、テーブルのフィールド数と一致します。
  • セッション変数の数もそれらの数と一致します。
  • 実際のクエリには、エコーで入力されるデータが含まれていること。
  • テーブル名が正しいこと。
  • そのクエリは、同じデータベース内の他のテーブルで機能します(それらは機能します)。
  • 「Incorrectsyntax」エラーを取得するには、またはdie(mysql_error();を使用します。
  • テーブルを数回再構築しました。

これは明らかに構文的に問題のある行です。何か問題があるか、正しい方向に私を向けることができれば、私は今途方に暮れているのでとても素晴らしいでしょう!それはメモリの問題かもしれませんか?

$sql = "INSERT INTO careBoiler (buyerID, date, sector, require, boilerMake, boilerModel, boilerType, heating, visit, deadline, budget, currcompany, specificreq) VALUES ('{$_SESSION['buyerID']}', now(), '{$_SESSION['cb']['sector']}', '{$_SESSION['cb']['require']}', '{$_SESSION['cb']['boilerMake']}', '{$_SESSION['cb']['boilerModel']}', '{$_SESSION['cb']['boilerType']}', '{$_SESSION['cb']['heating']}', '{$_SESSION['cb']['visit']}', '{$_SESSION['cb']['deadline']}', '{$_SESSION['cb']['budget']}', '{$_SESSION['cb']['currcompany']}', '{$_SESSION['cb']['specificreq']}')";
4

5 に答える 5

2

正確なエラー メッセージを提供していないため、少し難しいです。

ただし、MySQL の予約キーワードである列名「require」を使用している可能性があります。キーワード「date」も予約されていますが、広く使用されているため許可されています。

テーブルとクエリの列名「require」を変更してみてください。

詳細については、こちらをご覧ください。http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

そうでない場合は、完全なエラー メッセージを提供してください。

于 2010-10-22T09:13:59.043 に答える
1

一般的な php/mysql デバッグ戦略として

  1. 値が挿入された実際のクエリを出力します。それだけで問題が明らかになる場合もあります。

  2. ある場合は、クエリをコピーして phpMyAdmin / mysql ワークベンチに貼り付け、表示されるエラー メッセージを確認します。どちらにもアクセスできない場合は、php スクリプトで mysql_error() を呼び出して、どのようなエラーが発生するかを確認してください。

于 2010-10-22T09:07:38.780 に答える
0

使っor die($sql.' - '.mysql_error());てみて、その処理をどのように考えているかを確認してください。

于 2010-10-22T09:09:04.877 に答える
0

列名として使用しているMySQLの予約語のようrequireです。

これを修正するには、別の列名を選択するか、次のように後ろの目盛りに配置します。

$sql = "INSERT INTO careBoiler (buyerID, date, sector, `require`,...
                                                       ^       ^
于 2010-10-22T09:04:39.830 に答える
0

「date」のようにフィールドに日付を入力します

于 2010-10-22T09:38:17.760 に答える