Ответы пользователя по тегу PHP
  • [PHP,SQL, update] Как правильно сделать update строки со спецсимволами?

    @vegarulez Автор вопроса
    Ребята
    ThunderCat ThunderCat
    trevoga_su trevoga_su
    , спасибо что подсказали. Почитал, поразбирался. Переделал запрос к бд через PDO и подготовленные запросы. Ниже приведу пример того что у меня получилось, прошу вас посмотреть, может ещё какая-нить критика конструктивная будет, так как мне по идее надо бы htmlspecialchars() или htmlentities() или санитизинг делать значений из $_POST, поэтому буду признателен если откоментите как это правильнее производить
    Вот пример того что у меня получилось:

    const DB_HOST = 'localhost';
    const DB_USER = 'xxx';
    const DB_PASS = 'xxx';
    const DB_NAME_ = 'xxx';
    
    function pdo_prepquery($query,$prep_arr)
    {
        try {
            $dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME_, DB_USER, DB_PASS,
                array(PDO::ATTR_PERSISTENT => true,
                    PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES CP1251'));
            //echo "Подключились\n";
        } catch (Exception $e) {
            die("Не удалось подключиться: " . $e->getMessage());
        }
        try {
            echo $query;
            $dbh->setAttribute(
                PDO::ATTR_ERRMODE,
                PDO::ERRMODE_EXCEPTION);
            $dbh->beginTransaction();
            $sth=$dbh->prepare($query);
            $sth->execute($prep_arr);
            $result = $dbh->lastInsertId();
            $dbh->commit();
    
    
            echo 'lastInsertId:'.$result;
            return $result;
        } catch (Exception $e) {
            $dbh->rollBack();
            echo "Ошибка[" . __FUNCTION__ . "]" . $e->getMessage();
            return false;
        }
    
    
    }


    // some_code up to here
    $i=0;
    while (// some statements) {
    $query = "Update `some_table` set `a`=:a,`b`=:b, `c`=:c, `d`=123 where `e`=:e";
    
                                $prep_arr = array(':a' =>$_POST['some_var_a'],
                                    ':b' => $_POST['some_var_b'],
                                    ':c' => $some_var_c,
                                    ':e' => $some_var_e);
                                $qr[$i] = pdo_prepquery($query, $prep_arr);
                                echo 'testo:' . $qr[$i];
    $i++;
    }
    
    // some_code down from here
    Ответ написан
  • Можно ли сделать SMS отправку?

    @vegarulez
    Если тебе надо на какието свои номера (например какие-то события на сайте и т.п. если ты админ или разраб или пользователь) то можно через твитер настроить посомтри вот тут:
    https://www.youtube.com/watch?t=8&v=ujDqjlKv3EI
    Ответ написан
    1 комментарий