2016-06-20 1 views
0

У меня есть эти переменные:PHP MySQL INSERT запрос не вставляя все значения

$cliente = mysqli_real_escape_string($conn, htmlentities($_GET["cliente"])); 
$metatickt = mysqli_real_escape_string($conn, htmlentities($_GET["metatickt"])); 
$metaext = mysqli_real_escape_string($conn, htmlentities($_GET["metaext"])); 
$metaenc = mysqli_real_escape_string($conn, htmlentities($_GET["metaenc"])); 
$uf = mysqli_real_escape_string($conn, htmlentities($_GET["estado"])); 

И я пытаюсь сделать этот запрос:

$queryInst = "INSERT meta_control (mes,cliente,meta_exit,meta_tickt,meta_enc,uf)" 
      . " VALUES (MONTH(NOW()),'" . $cliente . "','" . $metaext . "','" . $metatickt . "','" . $metaenc . "','" . $uf . "')"; 
mysqli_query($conn, $queryInst); 

Но когда я просматриваю дб единственный столбец, который не является NULL mes. Что может быть причиной этого?

+1

Рассмотрите возможность использования подготовленного оператора вместо ручного ввода строк в запрос. Это предотвратит внедрение SQL и затруднит неправильное удаление строк. –

+0

Я буду, но сначала мне это нужно, чтобы нормально работать –

+2

Можете ли вы 'var_dump()' значения перед запуском, например '$ uf', и посмотреть, что он показывает? Я бы предположил, что это значения, поскольку «mes» - это единственное, что вы не нажимаете на переменные. –

ответ

1

Вы должны использовать надлежащий запрос. INSERT INTO

$queryInst = "INSERT INTO meta_control (mes,cliente,meta_exit,meta_tickt,meta_enc,uf)" 
       . " VALUES (MONTH(NOW()),'" . $cliente . "','" . $metaext . "','" . $metatickt . "','" . $metaenc . "','" . $uf . "')"; 
mysqli_query($conn, $queryInst); 
0

Возможно, вы получаете ошибку SQL. Вы должны проверить наличие таких ошибок, используя mysqli_error($conn) - http://php.net/manual/en/mysqli.error.php. В этом случае вы, вероятно, ошибка, вызванное отсутствием INTO ключевого слова в вашем SQL запросе, который должен быть INSERT INTO .... http://dev.mysql.com/doc/refman/5.7/en/insert.html

 Смежные вопросы

  • Нет связанных вопросов^_^