Я пытаюсь $ _POST ОБНОВЛЕНИЕ следующей таблицы MySQL:
Замечания: Есть 3 выпадающих списка: статус, категория и доступ
app_generalData
---------------
app_id
table
status_id
category_id
tags
access_id
Результирующие тесты с print_r ($ _ POST) и echo (s) гарантируют, что форма $ _POST работает:
Array (
[MAX_FILE_SIZE] => 100000
[app_id] => 1
[title] => Nothing Special
[status] =>
[category] =>
issetmysqliphppost знак равно> новый тег
[доступ] =>
[обновление] => Обновить )
[/ NOEDIT]
Данные из формы.
Error querying database for General Data.
// Post the UPDATE to app_generalData
if (isset($_POST['update'])) {
// print_r($_POST);
// echo '<br />';
// Connect to the database
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
// Grab the data from the POST
// General Data
$app_id = mysqli_real_escape_string($dbc, trim($_POST['app_id']));
$title = mysqli_real_escape_string($dbc, trim($_POST['title']));
$status = mysqli_real_escape_string($dbc, trim($_POST['status']));
$category = mysqli_real_escape_string($dbc, trim($_POST['category']));
$tags = mysqli_real_escape_string($dbc, trim($_POST['tags']));
$access = mysqli_real_escape_string($dbc, trim($_POST['access']));
// Confirm success with the user
echo '<h1>Data from the form.</h1><br />';
echo 'ID: ' . $app_id .'<br />';
echo 'Title: ' . $title .'<br />';
echo 'Status: ' . $status .'<br />';
echo 'Category: ' . $category .'<br />';
echo 'Tags: ' . $tags .'<br />';
echo 'Access: ' . $access .'<br />';
echo '<br />';
// Write the data to the database
$query = "UPDATE app_generalData
SET title = $title,
status_id = $status,
category_id = $category,
tags = $tags,
access_id = $access
WHERE app_id = $app_id
";
mysqli_query($dbc,$query)
or die('Error querying database for General Data.');
// close MySQL
mysqli_close($dbc);
exit();
}
else {
echo 'Please enter all details below.';
}
Всякий раз, когда вы получаете mysql_errors
Я бы предложил первое, что вы сделаете, если проблема не будет найдена, просто глядя на код, повторяя запрос.
Здесь, похоже, ваша проблема в том, что вы не окружаете свою строку в ''
(цитаты) как:
$query = "UPDATE app_generalData
SET title = '$title',
status_id = '$status',
category_id = '$category',
tags = '$tags',
access_id = '$access'
WHERE app_id = '$app_id'
";
После запуска print_r($query)
Я был в состоянии заметить, что запрос отправлял следующее:
UPDATE app_generalData
SET title = Nothing Special,
status_id = ,
category_id = ,
tags = new tag,
access_id =
WHERE app_id = 1
Причина ошибки: вокруг значений нет отметок («или»)?
Рабочий раствор:
Я обновил запрос к следующему
UPDATE app_generalData
SET title = '".$title."',
status_id = '".$status."',
category_id = '".$category."',
tags = '".$tags."',
access_id = '".$access."'
WHERE app_id = $app_id
";