Mysql
 sql >> база данни >  >> RDS >> Mysql

Вмъкване на данни с помощта на многоизмерен масив от множество полета

АКТУАЛИЗИРАНЕ

(Уау, това е трудно):Вие дефинирате всичките си полета за въвеждане във вашия HTML формуляр като масиви. Можете да премахнете тези [] което ги прави масиви или можете да използвате name=insp[] на вашия insp - квадратчета за отметка. След това изведете вашето представяне с var_dump($_POST) и ще видите как можете да анализирате масива.

Или създайте вложен масив. Нещо като това ще помогне:

while($row = mysqli_fetch_assoc($result)) {

    extract($row);

    echo "<tr>\n
    <td><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][id]' /></td>\n
        <td><center>{$scaffreq_id}</center></td>\n
        <td><center>{$level} m</center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][a]' /></center></td>\n            
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][b]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][c]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][d]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][e]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][f]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][g]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][h]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][i]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][j]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][k]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][l]' /></center></td>\n
        <td><center><p><input type='text' name='items[{$scaffreq_id}][reason]' maxlength='255' size='45' value='Reason{$insp_reason}'></p></center></td>\n
        </tr>\n";
}

Не е лесно да се помогне, без да видите кода на HTML формуляра. Но както ми се струва, $ID най-вероятно не е масив. Така че използвайки foreach($ID as ...) не е добре. Вместо това изградете своя низ по следния начин:

$query = "INSERT INTO `inspect` (`ID`,`a`,`b`,`c`,`d`,`e`,`f`,`g`) VALUES ";
$query .= "({$ID}, {$a}, {$b}, {$c}, {$d}, {$e}, {$f}, {$g})";

Предупреждение:
Имайте предвид, че кодът ви е несигурен и уязвим за SQL инжекции (вижте този SO Q&A ). Използвайте подготвени изявления за PDO вместо mysql() функции!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да запазите съдържанието на ckeditor в базата данни на mysql

  2. вмъкване на записи в множество таблици в php

  3. MySQL подзаявка с основна променлива за данни на заявката

  4. SQLSTATE[HY000] [2002] Неуспешен опит за свързване.. - При опит за свързване от локален към отдалечен сървър

  5. mysql_result() очаква параметър 1 да бъде ресурс, даден е булев