проверка и данные добавить в таблицу базы данных
вопросы, которые я задавал ранееpdo для извлечения данных и заполнения записи было о маске ввода, теперь мне нужно проверить ввод пользователя и добавить то, что было введено в таблицу БД, и это самый последний шаг.
Моя ошибка, как вы можете видеть в приведенном ниже коде, что я неверно истолковываюВСТАВИТЬ В а такжеОБНОВЛЕНИЕ НАБОР с помощьюPDO.
Кроме того, что касаетсяINSERT INTO
Я используюbindParam
для попытки ввода данных, а оUPDATE SET
я используюexecute(array)
, На самом деле этот код проверяет ввод данных пользователя и правильность этого ввода. Php пытается подключиться к базе данных и должен вставить или обновить таблицу. Странно то, что ошибки не возвращаются и данные не добавляются.
<?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
часть, но данные не добавлены