post — $ _POST PHP ОБНОВЛЕНИЕ ошибок и не возможности отправки

Я пытаюсь $ _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] =>
 знак равно> новый тег
[доступ] =>
[обновление] => Обновить )
[/ NOEDIT]

Данные из формы.

  • Я БЫ: 1
  • Заглавие: Ничего особенного
  • Статус:
  • Категория:
  • Метки: новый тег
  • Доступ:

Результирующее сообщение об ошибке:

Error querying database for General Data.

Желаемый результат (ы):

  1. Обновление элементов $ _POST в БД

Фрагмент для ОБНОВЛЕНИЯ:

// 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.';
}

0

Решение

Всякий раз, когда вы получаете 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'
";
1

Другие решения

После запуска 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
";
0

По вопросам рекламы [email protected]