Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [pdo] wykonanie dwóch zapytań
Forum PHP.pl > Forum > PHP
tomek_swat
witam,
mam problem z poniższym kodem, tzn do tabeli asortyment nie są dodawane żadne wartości
pzdr

  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST'){
  3.                
  4.                $db = new PDO($dsn,$user,$passwd);
  5.                
  6.                $db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  7.                
  8.                $query = $db->prepare('INSERT into `produkt` (`idjezyka`, `idkategorii`, `idprod`, `nazwap`, `kopisp`,
  9.                                        `dopisp`, `plikp`, `cena`, `popis`, `pkluczowe`, `popisid`)
  10.                                VALUES (:idjezyka, :idkategorii, :idprod, :nazwap, :kopisp, :dopisp, :plikp, :cena, :popis,
  11.                                    :pkluczowe, :popisid)');
  12.                
  13.                $query->bindValue(':idjezyka', $_POST['idjezyka'], PDO::PARAM_INT);
  14.                $query->bindValue(':idkategorii', $_POST['idkategorii'], PDO::PARAM_INT);
  15.                $query->bindValue(':idprod', $_POST['idprod'], PDO::PARAM_INT);
  16.                $query->bindValue(':nazwap', $_POST['nazwap'], PDO::PARAM_STR);
  17.                $query->bindValue(':kopisp', $_POST['kopisp'], PDO::PARAM_STR);
  18.                $query->bindValue(':dopisp', $_POST['dopisp'], PDO::PARAM_STR);
  19.                $query->bindValue(':plikp', $_POST['plikp'], PDO::PARAM_STR);
  20.                $query->bindValue(':cena', $_POST['cena'], PDO::PARAM_INT);
  21.                $query->bindValue(':popis', $_POST['popis'], PDO::PARAM_STR);
  22.                $query->bindValue(':pkluczowe', $_POST['pkluczowe'], PDO::PARAM_STR);
  23.                $query->bindValue(':popisid', $_POST['popisid'], PDO::PARAM_INT);
  24.                
  25.                $count = $query->execute();
  26.                
  27.                $idp = $db->lastInsertId();
  28.                
  29.                foreach($_POST['sklep'] as $ids){
  30.                    $ids = (int) $ids;
  31.                    
  32.                    if($ids){                
  33.                        $q = $db->prepare('INSERT into `asortyment` (`idproduktu`, `idsklepu`) VALUES ('.$idp.','.$ids.' ');
  34.                        $c = $q->execute();
  35.                    }
  36.                }
  37. ?>
bim2
Sprawdź jakie błędy wyrzuca PDO...
tomek_swat
próbowałem już brać to w try catch ale żadne błędy nie są generowane, do tabeli produkt jest wpisywana wartość a do asortyment już nie
bim2
daj print_r($_POST['sklep']) pewnie tablica jest pusta
tomek_swat
to też nie to bo jak wstawie jakieś statyczne dane to również nie działa, a tak wyglądają checkboxy
  1. <?php
  2. $a = $db -> query('SELECT idsklepu, snazwa from sklep');
  3.                        
  4.                        while($row = $a->fetch()){
  5.                            echo '<input type="checkbox" name="sklep[]" value="'.$row['idsklepu'].'" id="'.$row['idsklepu'].'">
  6.                                <p style="text-align: center;"> '.$row['snazwa'].'</p>';
  7.                        }
  8.                        
  9.                        $a->closeCursor();
  10. ?>


co jest jeszcze dziwniejsze to, że ten kod działa
  1. <?php
  2. $query  = "INSERT into produkt (IdKategorii,IdProd,NazwaP,KOpisP,DOpisP,PlikP,Cena)
  3.    values ('$IdKategorii','$IdProd','$NazwaP','$KOpisP','$DOpisP','$Plik','$Cena');";
  4. mysql_query($query);
  5.  
  6. $IdProduktu = mysql_insert_id();
  7.    
  8. foreach($_POST['sklep'] as $IdSklep){
  9.    $IdSklep = (int) $IdSklep;
  10.  
  11.    if($IdSklep){
  12.        $sql = "INSERT into Asortyment (IdProduktu,IdSklepu)
  13.    values ('$IdProduktu','$IdSklep')";
  14. ?>


ok mam błąd, oto on
Wystąpił błąd biblioteki PDO: SQLSTATE[42000]: Syntax error or access violation: 1064 Something is wrong in your syntax obok '' w linii 1array(12) { ["idjezyka"]=> string(1) "1" ["sklep"]=> array(1) { [0]=> string(1) "1" } ["idkategorii"]=> string(1) "1" ["idprod"]=> string(1) "1" ["nazwap"]=> string(2) "sd" ["kopisp"]=> string(3) "edf" ["dopisp"]=> string(2) "df" ["plikp"]=> string(0) "" ["cena"]=> string(2) "12" ["popis"]=> string(3) "xcv" ["pkluczowe"]=> string(2) "as" ["popisid"]=> string(0) "" }

chyba wszystko jest ok więc czemu nie działa?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.