Ошибка вставки PHP MySQL - PullRequest
       13

Ошибка вставки PHP MySQL

1 голос
/ 31 октября 2011
<?php
$inv = $_POST['inv'];
$box = $inv;
$date = $_POST['from'];
$mark = $_POST['mark'];
$type = $_POST['type'];
$desc = $_POST['desc'];
$machine = $_POST['machine'];
$serial = 'x';
$cmode = $_POST['cmode'];
$t1 = $_POST['t1'];
$t2 = $_POST['t2'];
$t3 = $_POST['t3'];
$t4 = $_POST['t4'];
$t5 = $_POST['t5'];
$t6 = $_POST['t6'];
$org = $_POST['org'];
$plant = $_POST['plant'];
$floor = $_POST['floor'];
$line = $_POST['line'];
$linex = $_POST['linex'];
$group = $_POST['group'];
$oper = $_POST['oper'];
$obs = $_POST['obs'];

echo $box.'<br/>';
echo $date.'<br/>';
echo $inv.'<br/>';
echo $mark.'<br/>';
echo $type.'<br/>';
echo $desc.'<br/>';
echo $machine.'<br/>';
echo $serial.'<br/>';
echo $cmode.'<br/>';
echo $t1.'<br/>';
echo $t2.'<br/>';
echo $t3.'<br/>';
echo $t4.'<br/>';
echo $t5.'<br/>';
echo $t6.'<br/>';
echo $org.'<br/>';
echo $plant.'<br/>';
echo $floor.'<br/>';
echo $line.'<br/>';
echo $linex.'<br/>';
echo $group.'<br/>';
echo $oper.'<br/>';
echo $obs.'<br/>';

$con = mysql_connect("localhost","username","mypassword");
if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("brisay", $con);
mysql_query("SET NAMES utf8"); 

$sql="INSERT INTO controller (box, date, inv, mark, type, machine, serial, cmode, t1, t2, t3, t4, t5, t6, org, plant, floor, line, linex, group, oper, obs) VALUES('$box','$date','$inv','$mark','$type','$machine','$serial','$cmode','$t1','$t2','$t3','$t4','$t5','$t6','$org','$plant','$floor','$line','$linex','$group','$oper','$obs')";
 if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); }

ошибка: 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 'group, oper, obs) VALUES ('123456','2011-10-07','123456','mark','type','4455','x' at line 1

У меня есть эхо только для отладки ... У меня все еще есть ошибка, и нет никакого объяснения этому. Все правильно ...

У меня есть 23 столбца в базе данных .. Все имена правильные ... и у меня все еще всегда есть ошибка при вставке в столбцы "desk", "oper".

эти столбцы в структуре: 'varchar (100)'

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 31 октября 2011

группа - зарезервированное слово в SQL.(ГРУППА ПО).Вы должны заключить его в кавычки, используя `` -quotes.

linex, `group`, oper
0 голосов
/ 31 октября 2011

Вы должны попытаться избежать имен полей, если они являются словами резервирования:

INSERT INTO controller 
(box, `date`, inv, mark, `type`, machine, serial, cmode, 
 t1, t2, t3, t4, t5, t6, org, plant, `floor`, line, linex, 
 `group`, oper, obs) 
VALUES
('$box','$date','$inv','$mark','$type','$machine','$serial','$cmode',
 '$t1','$t2','$t3','$t4','$t5','$t6','$org','$plant','$floor','$line',
 '$linex','$group','$oper','$obs')
0 голосов
/ 31 октября 2011

группа является одним из зарезервированных слов в mysql используйте как `group`

INSERT INTO controller (....,`group`, ........
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...