MySQL UPDATE не работает - PullRequest
       4

MySQL UPDATE не работает

0 голосов
/ 04 ноября 2011

У меня есть немного кода, который обновляет таблицу с именем job, но после запуска страницы она не обновляет таблицу.Вот код:

$item = isset($_POST['item']);
$ref = isset($_POST['ref']);

$con = mysql_connect("$host","$username","$password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("$db_name", $con);

$sql="UPDATE job SET item = '$item' WHERE ref='$ref'";
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
header("location:index.php");

Я повторил переменную $ref, и она есть, но она не будет работать, если я добавлю ее в предложение WHERE.

Ответы [ 2 ]

3 голосов
/ 04 ноября 2011
$ref = isset($_POST['ref']);

Я повторил переменную $ ref, и она там есть

Вы не назначаете фактическое значение $_POST['ref'], вы только назначаете илине установлено.Попробуйте:

$ref = isset($_POST['ref']) ? mysql_real_escape_string($_POST['ref']) : NULL;

Вы можете проверить свой запрос, прочитав созданную вами строку SQL: exit($sql)

См. Также: Что такое инъекция SQL?

1 голос
/ 04 ноября 2011
$item = isset($_POST['item']);
$ref = isset($_POST['ref']);

с помощью этих двух операторов переменные будут иметь значения 0 или 1 ... лучше написать так ...

$item = (isset($_POST['item']) == 1 ? $_POST['item'] : '');
$ref = (isset($_POST['ref']) == 1 ? $_POST['ref'] : '');

if($item !='' && $ref !=''){
   // your update query
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...