За последние 24 часа нас посетили 36692 программиста и 1809 роботов. Сейчас ищут 1337 программистов ...

никак не хочет выполнятся код добавления ву список заказов

Тема в разделе "PHP для новичков", создана пользователем riaron, 6 июн 2018.

  1. riaron

    riaron Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    247
    Симпатии:
    4
    При выполнении кода ниже берутся данные из корзины и добавляются в заказы. echo в конце первого запроса, показывает все данныце которые есть в корзине а вот второй запрос не выполлняется. в чем причина
    PHP:
    1. <?php
    2. $user="::1";
    3. $i='0';
    4. $phone=999;
    5. $goodtype="tire";
    6. $usrdate = date("Y.m.d H:i:s");
    7. $baskorderid="uyjfuyvhb";
    8. $mysqli = new mysqli('localhost', 'root', '', 'project');
    9.          
    10.           $query = "SELECT `user`, `good_id`,`good_qtty`,`producer`,`name`,`price`,`goodtype` FROM `basket` where `user`=? limit ?,1";
    11.           if ($stmt = $mysqli->prepare($query)) {
    12.              
    13.               $stmt->bind_param("si", $user,$i);
    14.               $stmt->execute();
    15.               $stmt->bind_result($baskuser, $baskuid,$baskqtty,$baskprod,$baskname,$baskprice,$goodtype);
    16.               while ($stmt->fetch()) {
    17.                   sprintf("%s (%s)\n", $baskuser, $baskuid,$baskqtty,$baskprod,$baskname,$baskprice,$goodtype);
    18.               }
    19.               $stmt->close();
    20.               echo "$baskuser, $baskuid,$baskqtty,$baskprod,$baskname,$baskprice,$goodtype";
    21.             }
    22.  
    23.          
    24.             $mysqli->close();
    25.             $mysqli = new mysqli('localhost', 'root', '', 'project');
    26.        
    27.           $query = "INSERT INTO `orders` (`user`,`good_id`,`good_qtty`,`producer`,`name`,`price`,`phone`,`goodtype`,`orderdate`,`orderid`,`ordid`) VALUES(?,?,?,?,?,?,?,?,?,?,?,null)";
    28.           if ($stmt = $mysqli->prepare($query)) {
    29.              
    30.               $stmt->bind_param("siissiisis", $mysqli->real_escape_string($baskuser), $mysqli->real_escape_string($baskuid),$mysqli->real_escape_string($baskqtty),$mysqli->real_escape_string($baskprod),$mysqli->real_escape_string($baskname),$mysqli->real_escape_string($phone),$mysqli->real_escape_string($baskprice),$mysqli->real_escape_string($goodtype),$mysqli->real_escape_string($usrdate),$mysqli->real_escape_string($baskorderid));
    31.               $stmt->execute();
    32.               $stmt->close();
    33.             }
    34.    
    35.           $mysqli->close();
     
  2. AlexALX

    AlexALX Активный пользователь

    С нами с:
    13 июн 2007
    Сообщения:
    294
    Симпатии:
    5
    Адрес:
    Киев
    А зачем вы закрываете соединение с mysql и вновь открываете? Если ли в этом какойто практический смысл? Проверте через mysqli->error и $mysqli->connect_errno что пишет во втором случае (может реконнект не проходит по какимто причинам).
     
  3. riaron

    riaron Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    247
    Симпатии:
    4
    $mysqli->connect_errno выдает 0
     
  4. username

    username Новичок

    С нами с:
    6 июл 2017
    Сообщения:
    223
    Симпатии:
    17
    строки 25,26 я бы убрал
     
  5. riaron

    riaron Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    247
    Симпатии:
    4
    без 25.26 тоже не работает
     
  6. username

    username Новичок

    С нами с:
    6 июл 2017
    Сообщения:
    223
    Симпатии:
    17
  7. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @riaron, не поленились бы и добавили вызов и проверку результата mysqli_errno и mysqli_error...
    А так - посчитайте количество полей таблицы, перечисленных в запросе и количество значений в values.[/USER]