これが私の配列です:
$person = array(
"fullname" => $fn,
"skin_shade" => $_POST['skin_shade'],
"acne" => $_POST['acne'],
"dry_skin" => $_POST['dry_skin'],
"oily_skin" => $_POST['oily_skin'],
"wrinkles_aging" => $_POST['wrinkles_aging'],
"sensative_skin" => $_POST['sensative_skin'],
"darkspots" => $_POST['darkspots'],
"hair_type" => $_POST['hair_type'],
"parabens" => $_POST['parabens'],
"sulfates" => $_POST['sulfates'],
"mineral_oil" => $_POST['mineral_oil'],
"silicones" => $_POST['silicones'],
"relaxed" => $_POST['relaxed'],
"colortreated" => $_POST['colortreated'],
"thinning" => $_POST['thinning'],
"growth" => $_POST['growth'],
"braidout" => $_POST['braidout'],
"roller" => $_POST['roller'],
"wng" => $_POST['wng'],
"heat" => $_POST['heat'],
"wig" => $_POST['wig'],
"braid" => $_POST['braid'],
"dreadlocks" => $_POST['dreadlocks'],
"henna" => $_POST['henna'],
"hair_color" => $_POST['hair_color'],
"hair_style" => $_POST['hair_style'],
);
そして、ここに挿入しようとしてエラーが発生します:
$columns = implode(", ",array_keys($person));
$escaped_values = array_map('mysql_real_escape_string', array_values($person));
$values = implode(", ", $escaped_values);
$sql = "INSERT INTO people ($columns) VALUES ('$values')";
mysql_query($sql) or die (mysql_error());
また、列と値に print_r を使用して、それらが同じサイズであることを確認しました。
print_r($columns); echo"</br></br>";
print_r($values);
そのために得られる出力は次のとおりです。
フルネーム、skin_shade、にきび、dry_skin、oily_skin、しわ_老化、敏感肌、darkspots、hair_type、パラベン、硫酸塩、mineral_oil、シリコーン、リラックス、カラートリートメント、間伐、成長、三つ編み、ローラー、ウィング、熱、かつら、三つ編み、ドレッドヘア、ヘナ、 hair_color、hair_style
Chris Runo, 2, いいえ, はい, いいえ, はい, はい, いいえ, ストレート, いいえ, いいえ, いいえ, いいえ, いいえ, いいえ, はい, いいえ, いいえ, いいえ, いいえ, いいえ, いいえ, いいえ、ダークブラウン、クラシック
また、MySQL テーブルを確認したところ、27 列ありました。