Добавить значение в запрос к базе данных

0

Я хотел бы добавить другое значение в оператор INSERT, но что бы я ни делал, он вызывает различные ошибки. Может ли кто-нибудь показать мне правильный способ кодирования этого?

Мой оригинальный рабочий код:

$sql = "INSERT INTO `act` (`department`) VALUES ('". implode("'),('", $dept) . "')";

Я пробовал среди других:

$sql = "INSERT INTO `act` (`department`,`item`) VALUES ('". implode("'),('", $dept) . "','". implode("'),('", $box) . "')";

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

$dept  = array();
$box = array();

while ($row = mysql_fetch_array($result)) {
          $dept[] = $row['department'];
          $box[] = $row['custref'];
}

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-type: application/json");
$json = "";
$json .= "{\n";
$json .= "dept: [\"". implode('","', $dept). "\"],\n";
$json .= "box: [\"". implode('","', $box) ."\"]\n";
$json .= "}\n";
echo $json;

$sql = "INSERT INTO `act` (`department`) VALUES ('". implode("'),('", $dept) . "')";
$result = runSQL($sql);
Теги:

2 ответа

1

вы можете попробовать что-то вроде этого

$sql="INSERT INTO `act`
        (`department`,`box`)
      VALUES 
   ";

foreach($dept as $index => $value)
{
    $sql.="
         (
          '".mysql_real_escape_string($value)."',
          '".mysql_real_escape_string($box[$index])."'
          ),";
}

$sql=rtrim($sql,',') ;
$result = runSQL($sql);
  • 0
    +1 для правильного побега
0

Несколько вставок должны быть в формате:

INSERT INTO `act` (`department`, `item`) VALUES ('dept1', 'item1'), ('dept2', 'item2'), ('dept1', 'item1'), ('dept3', 'item3');,

$insert = array();
for ($i=0; $i<sizeof($dept); $i++) {
    $insert[] = '(\'' . $dept[$i] . '\',\'' . $box[$i] . '\')';
}

$sql = "INSERT INTO `act` (`department`,`item`) VALUES " . implode(',', $insert);
  • 0
    на основании того, что код работает с 1 элементом, есть ли способ просто включить другое поле, как в моем примере, не вызывая ошибки? Спасибо
  • 0
    @ Mr.Putersmit: Что находится в формате $dept и $box ?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню