У меня проблема с заполнением таблицы из 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."',
Взгляните на подготовленные заявления - вы также решите проблему безопасности, которая есть у вашего кода в настоящее время, пока вы это делаете.
Я тоже пробовал использовать .utf8_encode ($ last_name)
@TheWizard это не то, что предлагается. Пожалуйста, прочтите комментарии.
Кодировка utf НЕ поможет. Прочтите и прислушайтесь к комментариям о PDO.
Пожалуйста, посмотрите здесь: en.wikipedia.org/wiki/SQL_injection






Что ж, если вы используете 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Это то, что вы ищете?
Обратите внимание, что другие поставщики могут не поддерживать именованные параметры.
Пожалуйста, изучите подготовленные операторы и связывайте переменные, так как это решит эту и несколько других потенциальных проблем.