2014-11-12 2 views
-1

Я использую следующий код для вставки данных из базы данных доступа в базу данных MySQL с использованием PHP и борьбы.Неизвестный Недопустимый оператор SQL; ожидаемые «DELETE», «INSERT», «PROCEDURE», «SELECT» или «UPDATE»

$id = $keys['id']; 
$ug = $values['usertype']; 


$sql = "INSERT INTO [" & public_user_usergroup_map & "] (user_id, group_id) values ($id, $ug)"; 
CustomQuery($sql); 

любые идеи, пожалуйста,

+0

попробуйте изменить ["& public_user_usergroup_map &"] на [". public_user_usergroup_map. "] –

+2

mysql не использует' [] 'для экранирования имен полей/таблиц, а' & '- побитовая операция AND, а не строка concatentation. Это в основном не PHP. –

+0

Пробовал это, тогда он говорит Описание: Не удалось найти выходную таблицу 'public_user_usergroup_map'. – jaykay79

ответ

1

Попробуйте вместо этого:

$id = $keys['id']; 
$ug = $values['usertype']; 
$table_name = "table_a"; 


$sql = "INSERT INTO " . $table_name . " (user_id, group_id) VALUES ('$id', '$ug')"; 
CustomQuery($sql); 
+0

Thats получил это ближе, теперь я получаю синтаксическую ошибку в запросе. Неполное предложение запроса. – jaykay79

+0

Я отредактировал свой ответ. У меня ошибочно были одинарные кавычки вокруг имени таблицы. Попробуйте это вместо этого. – darkhorizon

+0

ok, попробовал это и теперь получить Описание: Не удалось найти выходную таблицу 'public_user_usergroup_map'., Но я знаю, что она существует – jaykay79

0

хороший

$sql = 'INSERT INTO '. $table_name .' (user_id, group_id) VALUES ('.$id.', '.$ug.')"; 

плохо один

$sql = "INSERT INTO $table_name (user_id, group_id) VALUES ($id, $ug)"; 
Смежные вопросы