私は挿入値に問題があります。複数のデータを挿入することはできません。しかし、テーブルのデータ値を見るとN5のように見えますが、 N7とN9がありません。複数のデータを挿入することはできません
"N4" 示すエラー; "ファラBTモハメド"; 4; "PEREMPUAN"、 "C5" "N6"; "Maisarah"; 2; "PEREMPUAN"、 "C2" "N8";」 haikal「; 4;」LELAKI「」C2" データベース作成者とみなされる 『注文を
Warning: pg_query():Query failed: ERROR: insert or update on table "nominee" violets foreign key constraint "custFK" DETAIL: Key(cust_id)=(C2) is not present in table "customer".
<?php
$connection = pg_connect ("user = postgres password = syafiqah26 port = 5433 dbname = bengkel2 host = localhost");
$number = count($_POST["name"]);
$number1 = count($_POST["gender"]);
$number2 = count($_POST["age"]);
$number3 = count($_POST["hidden"]);
if(($number > 0)&&($number1>0)&&($number2>0)&&($number3>0))
{
for($i=0,$j=0,$k=0,$l=0; $i<$number && $j<$number1 && $k<$number2 && $l<$number3; $i++,$j++,$k++,$l++)
{
if((trim($_POST["name"][$i] != ''))&&(trim($_POST["gender"][$j] != ''))&&(trim($_POST["age"][$k] != ''))&&(trim($_POST["hidden"][$l] !='')))
{
$sql = "INSERT INTO nominee(name,gender,age,cust_Id) VALUES('".pg_escape_string($connection, $_POST["name"][$i])."','".pg_escape_string($connection, $_POST["gender"][$j])."','".pg_escape_string($connection, $_POST["age"][$k])."','".pg_escape_string($connection, $_POST["hidden"][$l])."')";
pg_query($connection, $sql);
}
}
echo "Data Inserted";
}
else
{
echo "Please Enter Name";
}
pg_close($connection);
?>
[Little Bobby](http://bobby-tables.com/)によると*** [あなたのスクリプトはSQLインジェクション攻撃の危険にさらされています。](http://stackoverflow.com/questions/60174/how- can-i-prevent-sql-injection-in-php)***。 [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)でも安全ではありません! –
@Jay Blanchardトピック開始者がmysqlの代わりにpostgresqlを使用しています –
@RaymondNijlandに関係なく、概念は同じです。コメントは –