Обновление таблиц

0

У меня есть проблема с заполнением таблицы из MySQL в другую таблицу MySQL, которую я прочитал из одной таблицы, и тогда это нормально, когда такая фамилия, как O'Brian, когда я обновляю другую таблицу, все обновления, кроме O 'Brian, или любое имя или фамилию с символом' in это все через PHP Ok Вот полный код

    $STH2  = $this->run_query("SELECT 'member_id','first_name','last_name' FROM 'member_data' WHERE 'member_id' = '".$evi."'");

                            $foundme=0;
                            while ($rowtop = $STH2->fetch())
                                            {
                                                $foundme++;

                                                $first_name = $rowtop['first_name'];
                                                $last_name= $rowtop['last_name'];


                                         }

                                 $q = $this->update("

                             UPDATE 'users' 
                             SET 
                             'first_name' = '".$first_name."', 
                             'last_name' = '".$last_name."', 
  • 6
    Пожалуйста, изучите подготовленные операторы и свяжите переменные, так как это решит эту и некоторые другие потенциальные проблемы.
  • 6
    Взгляните на подготовленные операторы - вы также решите проблему безопасности, с которой ваш код сталкивается в данный момент.
Показать ещё 4 комментария
Теги:

1 ответ

2
Лучший ответ

Ну, если вы используете PDO, попробуйте это:

$bdd = /* your database connexion */

$sql = "UPDATE 'user' 
        SET 'first_name' = :first_name, 'last_name' = :last_name
        WHERE 'member_id' = 2001;";

$req = $bdd->prepare($sql);
$req->bindParam(':first_name', $first_name);
$req->bindParam(':last_name', $last_name);
$req->execute();

Если вы не используете PDO, синтаксис может отличаться, но логика должна быть одинаковой:

  • Создайте запрос с помощью некоторого "param", здесь :first_name и :last_name
  • Подготовьте свой запрос
  • Свяжите параметр с фактическим значением, здесь $first_name и $last_name
  • Затем выполните запрос

Это то, что вы ищете?

  • 0
    Обратите внимание, что другие поставщики могут не поддерживать именованные параметры.

Ещё вопросы

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