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

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

    $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."', 

Пожалуйста, изучите подготовленные операторы и связывайте переменные, так как это решит эту и несколько других потенциальных проблем.

Nigel Ren 31.05.2018 17:36

Взгляните на подготовленные заявления - вы также решите проблему безопасности, которая есть у вашего кода в настоящее время, пока вы это делаете.

Mureinik 31.05.2018 17:37

Я тоже пробовал использовать .utf8_encode ($ last_name)

The Wizard 31.05.2018 17:39

@TheWizard это не то, что предлагается. Пожалуйста, прочтите комментарии.

Script47 31.05.2018 17:40

Кодировка utf НЕ поможет. Прочтите и прислушайтесь к комментариям о PDO.

Dave 31.05.2018 17:46

Пожалуйста, посмотрите здесь: en.wikipedia.org/wiki/SQL_injection

Tobia 31.05.2018 17:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
6
48
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что ж, если вы используете 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, синтаксис может отличаться, но логика должна быть такой же, просто адаптируйтесь:

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

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

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

Script47 31.05.2018 18:05

Другие вопросы по теме