[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: INSERT INTO
deptk
есть форма, из которой мотодом POST приходят данные, данным присваиваются переменные. далее проверяется все ли переменные есть, после чего данные ДОЛЖНЫ записываться в таблицу БД, но этого не происходит. все переменные доходят, проблем авторизации с БД нет. помогите разобраться.

<?php
include ("blocks/bd.php");


if (isset($_POST['equipment'])) {$equipment = $_POST['equipment']; if ($equipment == '') {unset($equipment);} }
if (isset($_POST['SN'])) {$SN = $_POST['SN']; if ($SN == '') {unset($SN);} }
if (isset($_POST['completion'])) {$completion = $_POST['completion']; if ($completion == '') {unset($completion);} }
if (isset($_POST['wrnt'])) {$wrnt = $_POST['wrnt']; if ($wrnt == '') {unset($wrnt);} }
if (isset($_POST['wrnt_d'])) {$wrnt_d = $_POST['wrnt_d']; if ($wrnt_d == '') {unset($wrnt_d);} }
if (isset($_POST['masters'])) {$masters = $_POST['masters']; if ($masters == '') {unset($masters);} }
if (isset($_POST['client'])) {$client = $_POST['client']; if ($client == '') {unset($client);} }
if (isset($_POST['contact'])) {$contact = $_POST['contact']; if ($contact == '') {unset($contact);} }
if (isset($_POST['tel'])) {$tel = $_POST['tel']; if ($tel == '') {unset($tel);} }
if (isset($_POST['defect'])) {$defect = $_POST['defect']; if ($defect == '') {unset($defect);} }
if (isset($_POST['comment'])) {$comment = $_POST['comment']; if ($comment == '') {unset($comment);} }
if (isset($_POST['savethat'])) {$savethat = $_POST['savethat']; if ($savethat == '') {unset($savethat);} }
if (isset($_POST['dateto'])) {$dateto = $_POST['dateto']; if ($dateto == '') {unset($dateto);} }
if (isset($_POST['num_card'])) {$num_card = $_POST['num_card']; if ($num_card == '') {unset($num_card);} }

$num_card = $num_card + 1;
$update = mysql_query ("UPDATE num_card SET num_card='$num_card'",$db);

?>


...много html...

<?php

if (isset($equipment) && isset($SN) && isset($completion) && isset($wrnt) &&
isset($wrnt_d) && isset($masters) && isset($client) && isset($contact) && isset($tel)
&&
isset($defect) && isset($comment) && isset($savethat) && isset($dateto))
{

echo "('$equipment', '$SN', '$completion', '$wrnt', '$wrnt_d', '$masters', '$client',
'
$contact', '$tel', '$defect', '$comment', '$savethat', '$dateto')";

$result = mysql_query ("INSERT INTO rect_client (equipment,SN,completion,wrnt,wrnt_d,masters,dateto), tech_card
(equipment,SN,completion,wrnt,wrnt_d,masters,client,contact,tel,defect,comment,savethat,dateto) VALUES ('
$equipment', '$SN', '$completion', '$wrnt', '$wrnt_d',
'
$masters', '$client', '$contact', '$tel', '$defect', '$comment', '$savethat', '$dateto')",$db);

if ($result == 'true')
{
echo "<p>Данные успешно добавлены!</p>";
}

else
{
echo "<p>Данные не добавлены!</p>";

}
}

else
{
echo "<p>Вы заполнили не все поля, данные не будут добавлены!</p>";
}
?>[/php]



Спустя 20 минут, 34 секунды (23.09.2010 - 06:13) Invis1ble написал(а):
Так а пишет-то что твой код?

Спустя 3 минуты, 23 секунды (23.09.2010 - 06:16) deptk написал(а):
Данные не добавлены!

Спустя 49 секунд (23.09.2010 - 06:17) Invis1ble написал(а):
попробуй вот это
$result = mysql_query ("INSERT INTO rect_client (equipment,SN,completion,wrnt,wrnt_d,masters,dateto), tech_card (equipment,SN,completion,wrnt,wrnt_d,masters,client,contact,tel,defect,comment,savethat,dateto) VALUES ('$equipment', '$SN', '$completion', '$wrnt', '$wrnt_d', '$masters', '$client', '$contact', '$tel', '$defect', '$comment', '$savethat', '$dateto')",$db);
замени на
$result = mysql_query ("INSERT INTO rect_client (equipment,SN,completion,wrnt,wrnt_d,masters,dateto), tech_card (equipment,SN,completion,wrnt,wrnt_d,masters,client,contact,tel,defect,comment,savethat,dateto) VALUES ('$equipment', '$SN', '$completion', '$wrnt', '$wrnt_d', '$masters', '$client', '$contact', '$tel', '$defect', '$comment', '$savethat', '$dateto')",$db) or die(mysql_error());
и напиши что тогда будет выдавать

Спустя 3 минуты, 43 секунды (23.09.2010 - 06:21) deptk написал(а):
даже не догадался подставить or die(mysql_error() здесь...

выдал то что:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' tech_card (equipment,SN,completion,wrnt,wrnt_d,masters,client,contact,tel,defec' at line 1

что бы это значило?

Спустя 3 минуты, 37 секунд (23.09.2010 - 06:24) deptk написал(а):
отдельно такой запрос я делал
$result = mysql_query ("INSERT INTO rect_client 
(equipment,SN,completion,wrnt,wrnt_d,masters,dateto) VALUES ('
$equipment', '$SN',
'
$completion', '$wrnt', '$wrnt_d', '$masters', '$dateto')",$db);


форму под этот запрос тоже изменял

Спустя 2 минуты, 2 секунды (23.09.2010 - 06:26) Invis1ble написал(а):
я так и думал, ты с синтаксисом напутал..
rect_client и tech_card - это таблицы? Зачем дублируешь данные?

Спустя 4 минуты, 34 секунды (23.09.2010 - 06:31) Invis1ble написал(а):
кстати вместо этого
$result = mysql_query ("INSERT INTO rect_client 
(equipment,SN,completion,wrnt,wrnt_d,masters,dateto) VALUES ('
$equipment', '$SN',
'
$completion', '$wrnt', '$wrnt_d', '$masters', '$dateto')",$db);

лучше так
$result = mysql_query ("INSERT INTO rect_client VALUES ('$equipment', '$SN', 
'
$completion', '$wrnt', '$wrnt_d', '$masters', '$dateto')",$db);

Спустя 7 минут, 57 секунд (23.09.2010 - 06:39) deptk написал(а):
Цитата
rect_client и tech_card - это таблицы? Зачем дублируешь данные?


это таблицы, данные дублирую, так как нужно записать одно и то же в две таблицы

Спустя 1 минута, 49 секунд (23.09.2010 - 06:41) Invis1ble написал(а):
зачем тебе писать в две таблицы? На крайняк делай два отдельных запроса с инсертом.
и еще, поубирай кавычки вокруг переменных, переменные вроде так не интерполируются.
$result = mysql_query ("INSERT INTO rect_client VALUES ($equipment, $SN, $completion, $wrnt, $wrnt_d, $masters, $dateto)", $db) or die(mysql_error());

на стадии разработки скрипта всегда используй or die(mysql_error()) - так легче ошибки отлавливать будет

Спустя 10 минут, 52 секунды (23.09.2010 - 06:52) Invis1ble написал(а):
В идеале должно быть так:
$query = "INSERT
INTO `rect_client`
VALUES (
'"
. mysql_real_escape_string($equipment) . "',
'"
. mysql_real_escape_string($SN) . "',
'"
. mysql_real_escape_string($completion) . "',
'"
. mysql_real_escape_string($wrnt) . "',
'"
. mysql_real_escape_string($wrnt_d) . "',
'"
. mysql_real_escape_string($masters) . "',
'"
. mysql_real_escape_string($dateto) . "')";
mysql_query($query, $db) or die(mysql_error());
if (mysql_affected_rows($db) === 0)
echo "<p>Данные не добавлены!</p>";
else
echo "<p>Данные успешно добавлены!</p>";

Спустя 6 минут, 52 секунды (23.09.2010 - 06:58) deptk написал(а):
спасибо за советы!

попробую найти ошибки, потом разберусь с этой конструкцией
'" . mysql_real_escape_string($equipment) . "'

и исправлю.

Спустя 2 минуты, 49 секунд (23.09.2010 - 07:01) Invis1ble написал(а):
не за что, карму плюсуй wink.gif

Спустя 11 часов, 26 минут, 46 секунд (23.09.2010 - 18:28) inpost написал(а):
deptk
Куда удобнее добавлять так:
$result = mysql_query ("INSERT INTO `rect_client` SET
`equipment`='
{$equipment}',
`masters'`='
{$masters}'
)"
,$db);


Почему? Да всегда видно, что где и как куда идёт! Если хочешь учиться больше - открой главную страницу и там есть уроки Твина (красным выделены). Зайди в раздел уроков и внизу есть "видеоуроки", этот раздел как раз о Попове и о том, в чём прийдется тебе переучиться. Пройти его сейчас в обязательном порядке!

Спустя 18 часов, 21 минута, 48 секунд (24.09.2010 - 12:50) deptk написал(а):
ОГРОМНОЕ СПАСИБО, ПАРНИ!

я просто решил отвлечься от поиска ошибки и начал приводить все к нормальному виду, как в уроках. только закончил и все заработало!

очень рад, что начал задавать вопросы на этом форуме! smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.