Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL не добавя информация към моята база данни

имате невалиден синтаксис за вмъкване, това е валидният синтаксис

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();

РЕДАКТИРАНЕ2:

трябва да сте нов в програмирането. Вашият 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.
};


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какъв е методът за криптиране на парола по подразбиране на Drupal?

  2. Как работи функцията POSITION() в MySQL

  3. Добавете префикс към автоматично увеличение в mysql db

  4. Разбиране на простото SQL присъединяване?

  5. MySQL скъпоценен камък на OSX 10.7 Lion