SQL ステートメントでデータを db に INSERT する方法は次のとおりです。
INSERT into tbl_main (ars_no, phone_number, category_1, category_2, status, create_date, resolved_date, trouble_type_priority, ban_type, employee_id_name)
の値はars_no
、テキストエリアから取得さphone_number
れます...これらのテキストエリアのcreate_date
各行は、テキストフィールドの固定値category_1
にcategory_2
対応status
しresolved_date
ますtrouble_type_priority
。ban_type
employee_id_name
だから私のテキストエリアからの各行は私のSQLに挿入されたときに新しい行になり、作成されるすべての行はすべて私のテキストフィールドから追加された固定値を持つことになります...
しかし、データを挿入しようとするたびに...成功したというメッセージが表示されますが、データベースをチェックするとデータがありません。以下は私のSQLコードです。私のコードが正しいかどうか、または改善できるかどうかアドバイスしてください。
error_reporting(E_ALL);
require 'include/DB_Open.php';
if(isset($_POST['DBLoad']))
{
$Category2 = $_POST['Category2'];
$Category3 = $_POST['Category3'];
$Status = $_POST['Status'];
$Date = $_POST['Date'];
$Severity = $_POST['Severity'];
$BanType = $_POST['BanType'];
$XiD = $_POST['XiD'];
$Ticket = $_POST['Ticket'];
//Process the input textareas into arrays
$PhoneNumber = array_map('mysql_real_escape_string', explode("\n", $_POST['PhoneNumber']));
$Createdate = array_map('mysql_real_escape_string', explode("\n", $_POST['Createdate']));
$RemedyTicketNo = array_map('mysql_real_escape_string', explode("\n", $_POST['PhoneNumber']));
//Determine the values with the least amount of elements
$min_count = min($PhoneNumber, $Createdate, $RemedyTicketNo);
//Create array to hold INSERT values
$values = array();
//Create the INSERT values
for($index=0; $index<$min_count; $index++)
{
$values[] = "('$RemedyTicketNo[$index]','$PhoneNumber[$index]','$Createdate[$index]',
'$Category2','$Category3','$Status','$Date','$Severity','$BanType','$XiD')";
}
$sql=mysql_query("INSERT into tbl_main
(ars_no,phone_number,create_date,category_1,category_2,status,resolved_date,trouble_type_priority,ban_type,employee_id_name)
VALUES " . implode (',',$values));
if (!$sql) {
die('Invalid query: ' . mysql_error());
}
header("Location: smp_backend_test.php");
}
私はここでエラーを見つけたと思います.INSERTステートメントをエコーしましたが、これだけを行っています:
INSERT into tbl_main (ars_no, phone_number, category_1, category_2, status, create_date, resolved_date, trouble_type_priority, ban_type, employee_id_name) VALUES ('('1', '1', '1'), ('2', '2', '2')', 'SMP_Backend', 'Pending Request', 'Resolved', '2013-04-28', '5', 'I', 'AAA')
私がやりたいのは、テキストエリアの各行がテキストフィールドの値に関連付けられることです.INSERTステートメントを編集して以下で実行する方法はありますか?このようにする必要があります:
INSERT into tbl_main (ars_no, phone_number, category_1, category_2, status, create_date, resolved_date, trouble_type_priority, ban_type, employee_id_name)
VALUES ('('1', '1', '1', 'SMP_Backend', 'Pending Request', 'Resolved', '2013-04-28', '5', 'I', 'AAA'), ('2', '2', '2', 'SMP_Backend', 'Pending Request', 'Resolved', '2013-04-28', '5', 'I', 'AAA')')