-1

私はmysqlを使用してテーブルを作成しました。テーブルが空で挿入しようとするとエラーが発生しますが、最初にSQLを追加すると、挿入は完全に機能します。何時間も費やしましたが、修正できませんでした..どうすればこの問題を修正できますか?

注意: 未定義のインデックス:

    if (isset($_POST['action']) && $_POST['action']=='submitted') {

$project_id = $_POST['project_id'];
$title= $_POST['title'];
$start_date = $_POST['start_date'];
$end_date = $_POST['end_date'];
$parent_project_id = $_POST['parent_project_id'];
$is_completed= $_POST['is_completed'];
$completion_date= $_POST['completion_date'];
$user_id= $_POST['user_id'];
$iproject_id = $_POST['iproject_id'];
$ititle= $_POST['ititle'];
$istart_date = $_POST['istart_date'];
$iend_date = $_POST['iend_date'];
$iparent_project_id = $_POST['iparent_project_id'];
$iis_completed= $_POST['iis_completed'];
$icompletion_date= $_POST['icompletion_date'];
$iuser_id= $_POST['iuser_id'];
if (isset($_POST['update'])) {
$selected = $_POST['selected'];
if (isset($_POST['insert'])) {
$query = "INSERT INTO project (project_id,title,start_date,end_date,parent_project_id,is_completed,completion_date,user_id) VALUES ($iproject_id,'$ititle','$istart_date','$iend_date',$iparent_project_id,$iis_completed,'$icompletion_date',$iuser_id)";
4

3 に答える 3

2

Notice: Undefined index: は、渡した $_POST[] 変数の 1 つが存在しないか、スペルが間違っていることを意味します。すべての $_POST[] をフォームの name 属性と比較してください。正しいタイプミスを確認できるように print_r($_POST) を試してください

于 2012-07-25T20:51:34.337 に答える
0

$iproject_idエラーの 1 つは、挿入クエリの値で、やなどの PHP 変数を使用$ititleしているにもかかわらず、これらの変数が存在しないことです。POST データの project_id と title を、呼び出された変数とコードに入れ$project_idます$title($ 記号の後に i がないことに注意してください)。

クエリ内の変数名が、POST データを割り当てる変数名と一致していることを確認することをお勧めします。

そして、データベースに挿入する前に入力をサニタイズしてください。ユーザーデータを信頼しないでください。セキュリティ上の理由から、常にサニタイズを試みてください。mysql_real_escape_string()迅速かつシンプルに保ちたい場合は、あなたの親友になることができます。

于 2012-07-25T21:09:15.050 に答える
0

使用する場合:

INSERT INTO `project` Values ($project_id,$title,$start_date,...etc);

VALUES の数値と table1 の列数は正確に一致する必要があります。phpAdmin でテーブルを正しく設定していない場合、それが問題である可能性があります

于 2012-07-25T20:52:26.347 に答える