Я пытаюсь добавить некоторые данные к пользовательскому-DB-таблицы, как это:MODX REVO + PHP MySQL - вставить данные в указанную строку таблицы
$sql ="insert into ext_user_data (userdata_id,vorname,nachname) values('$id','$vorname','$nachname')";
$stmt = $modx->prepare($sql);
$stmt->execute();
Это прекрасно работает, ожидать с помощью этого кода я 'Получая новую строку в таблице ext_user_data. Я хочу, чтобы добавить эти данные к существующему ряду, как это:
$sql ="insert into ext_user_data where id='136'(userdata_id,vorname,nachname) values('$id','$vorname','$nachname')";
$stmt = $modx->prepare($sql);
$stmt->execute();
Но не используя этот код ничего добавляется к DB-таблице.
Так как я могу добавить что-то в эту таблицу custom-db к данному первичному ключу? Первичный ключ такой же, как и $ id.
спасибо Йоэль, это работает отлично ... можете ли вы сказать мне, что делать, если строка таблицы еще не существует и должна быть создана? Я только что обнаружил, что этот случай может случиться, что таблица-строка не существует. –
@EMEm добро пожаловать. Для этого вам нужно будет написать запрос типа «SELECT' id' FROM ext_user_data WHERE 'id' = '$ id'", а затем проверить, сколько строк использует $ stmt-> num_rows или что-то подобное. вы можете проверить дополнительную информацию [link] (http://php.net/manual/en/mysqli-result.num-rows.php) –
oh, не видел твой новый комментарий ... сейчас я использую this: if (mysql_num_rows (mysql_query ("SELECT ext_user_data WHERE userid = '$ id'"))) { // Код внутри if block, если идентификатор пользователя уже существует $ sql = "update ext_user_data set' vorname' = '$ vorname ', 'nachname' =' $ nachname 'где id =' $ id '"; $ stmt = $ modx-> prepare ($ sql); $ stmt-> execute(); } else { $ sql = "insert in ext_user_data (id, userdata_id, vorname, nachname) значения ('$ id', '$ id', '$ vorname', '$ nachname')"; $ stmt = $ modx-> prepare ($ sql); $ stmt-> execute(); } ... кажется, работает ... –