無効な挿入構文がありますこれは有効な構文です
INSERT INTO customers (field1, field2) VALUES (val1, val2);
また、深刻なSQLインジェクションの脆弱性があります。
パラメータ化されたクエリとプリペアドステートメントを使用することをお勧めします...この
編集:
リンクを提供するだけでなく、ここでの答えはサンプルだけです。 あなたがすべきことの
$mysqli = new mysqli("server", "username", "password", "database_name");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$qry = $mysqli->prepare('INSERT INTO customers (name, phone, type, section, email, address, business, service, notes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)');
$qry->bind_param('s', $name, $phone_num, $sec_num, $email, $cus_type, $business, $address, $service, $notes);
// can do it in one statement rather than multiples..
//$qry->bind_param('s', $name);
//$qry->bind_param('s', $phone_num);
//$qry->bind_param('s', $sec_num);
//$qry->bind_param('s', $email);
//$qry->bind_param('s', $cus_type);
//$qry->bind_param('s', $business);
//$qry->bind_param('s', $address);
//$qry->bind_param('s', $service);
//$qry->bind_param('s', $notes);
$qry->execute();
$qry->close();
EDIT2:
プログラミングに慣れていない必要があります。if()ステートメントは常に実行されます...つまり、常にデータベースに挿入することになります。これが理由です。
if ($cus_type = $_POST['Corporate']){
ここで、$cus_typeは他の別名$_POST['cusType']
と同じです。 しかし、ifステートメントでは、それを$ _POST ['Corporate'] ...に割り当てています。これは、真のステートメントであるため、常に実行されます。これは、ifステートメントが論理的に実行される方法です。
if(boolean statement){
//executes when true
};
if(true){
//always executes
};
if('a' == 'b'){
//will not execute
};
$a = 'a';
$b = 'b';
if($a == $b){
//will not execute
};
if($a = $b){
//will always execute because its assigning the value which is a boolean true statement.
};