валидация и данные добавляются в таблицу db

вопросы, которые я задал ранее pdo для извлечения данных и заполнения записи, касались маски ввода, теперь мне нужно проверить ввод пользователя и добавить то, что было введено в таблицу db, и это последний шаг.

Моя ошибка заключается в том, что вы видите в приведенном ниже коде, что я неправильно интерпретирую INSERT INTO и UPDATE SET, используя PDO .

Кроме того, что касается INSERT INTO я использую bindParam для попытки ввода данных, а в UPDATE SET я использую execute(array) . На самом деле этот код проверяет ввод пользовательских данных и правильно ли этот вход пытается установить php для подключения к db и должен вставить или обновить таблицу. Странная часть заключается в том, что никакая ошибка не возвращается и данные не добавляются

 <?php error_reporting(-1); ini_set('display_errors', 'On'); ?> <?php $servername = "xxx"; $username = "xx"; $password = "xxx"; $dbname = "xxxx"; try { $dbh = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // set the PDO error mode to exception $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo 'Connected to database<br />'; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } $sth = $dbh->prepare("use accessibilita"); ?> <?php switch ($_GET['action']) { case 'add': switch ($_GET['type']) { case 'tages': $error = array(); $nome = isset($_POST['nome']) ? trim($_POST['nome']) : ''; if (empty($nome)) { $error[] = urlencode('Si prega di inserire un nome.'); } $cognome = isset($_POST['cognome']) ? trim($_POST['cognome']) : ''; if (empty($cognome)) { $error[] = urlencode('Si prega di inserire un cognome.'); } $indirizzo = isset($_POST['indirizzo']) ? trim($_POST['indirizzo']) : ''; if (empty($indirizzo)) { $error[] = urlencode('Si prega di inserire un indirizzo.'); } $civico = isset($_POST['civico']) ? trim($_POST['civico']) : ''; if (empty($civico)) { $error[] = urlencode('Si prega di inserire un numero civico.'); } $citta = isset($_POST['citta']) ? trim($_POST['citta']) : ''; if (empty($citta)) { $error[] = urlencode('Si prega di inserire una citta valida.'); } $prov = isset($_POST['prov']) ? trim($_POST['prov']) : ''; if (empty($prov)) { $error[] = urlencode('Si prega di inserire una provincia.'); } if (empty($error)) { $stmt = $dbh->prepare("INSERT INTO tagesroma(nome, cognome, indirizzo, civico, citta, prov) VALUES (:nome, :cognome, :indirizzo, :civico, :citta, :prov)"); $stmt->bindParam(':nome', $nome); $stmt->bindParam(':cognome', $cognome); $stmt->bindParam(':indirizzo', $indirizzo); $stmt->bindParam(':civico', $civico); $stmt->bindParam(':citta', $citta); $stmt->bindParam(':prov', $prov); } else { header('Location:tages.php?action=add' . '&error=' . join($error, urlencode('<br/>'))); } break; } break; case 'edit': switch ($_GET['type']) { case 'tages': $error = array(); $nome = isset($_POST['nome']) ? trim($_POST['nome']) : ''; if (empty($nome)) { $error[] = urlencode('Si prega di inserire un nome.'); } $cognome = isset($_POST['cognome']) ? trim($_POST['cognome']) : ''; if (empty($cognome)) { $error[] = urlencode('Si prega di inserire un cognome.'); } $indirizzo = isset($_POST['indirizzo']) ? trim($_POST['indirizzo']) : ''; if (empty($indirizzo)) { $error[] = urlencode('Si prega di inserire un indirizzo.'); } $civico = isset($_POST['civico']) ? trim($_POST['civico']) : ''; if (empty($civico)) { $error[] = urlencode('Si prega di inserire un numero civico.'); } $citta = isset($_POST['citta']) ? trim($_POST['citta']) : ''; if (empty($citta)) { $error[] = urlencode('Si prega di inserire una citta valida.'); } $prov = isset($_POST['prov']) ? trim($_POST['prov']) : ''; if (empty($prov)) { $error[] = urlencode('Si prega di inserire una provincia.'); } if (empty($error)) { //SYNTAX ERROR CORRECTION $stmt = $dbh->prepare("UPDATE tagesroma SET nome=?, cognome=?, indirizzo=?, civico=?, citta=?, prov=?)"); $stmt->execute(array($nome, $cognome, $indirizzo, $civico, $citta, $prov)); } else { header('Location:tages.php?action=edit&id=' . $_POST['id'] . '&error=' . join($error, urlencode('<br/>'))); } break; } break; } ?> <html> <head> <title>Commit</title> <meta charset="UTF-8"> </head> <body> <p>Done!</p> </body> </html> 

Обновление / редактирование:

Я исправил часть UPDATE SET но данные не добавлены

Related of "валидация и данные добавляются в таблицу db"

Проблема в том, что вы никогда не выполняли для INSERT

Добавьте к этому:

 $stmt -> execute(); 

поэтому ошибки не возвращаются, потому что их нет; просто что-то «отсутствует» 😉

Справка: