iamdivine
@iamdivine

Как сделать разделение входящей информации в бд через $_GET?

Доброй ночи! мучаюсь с логическим решением задачи.
Приходят данные на сервер в которых содержится HWID PC и инфо о нем, иногда поле поле pcname может совпадать у двух ownerid одновременно, как сделать чтобы каждому owner id приходили данные которые пришли именно ему, а если ownerid и pcname совпадают, то просто обновляют поле info, а не создают новое. Наваял такой код, но запутался
5ea730a9ac693614772978.png
$pcname = $_GET['a'];
$info = $_GET['str'];
$owner = $_GET['own'];

$stmt = $pdo->prepare("SELECT * FROM sloader ORDER BY pcname=?");
$stmt->execute([$pcname]);
$pcinfo = $stmt->fetch();

if ($pcinfo['ownerid'] != $owner && !$pcinfo['pcname']) { // если не существует
    $sql = "INSERT INTO sloader (ownerid, pcname, info, dLink) VALUES (?,?,?,?)";
    $pdo->prepare($sql)->execute([$owner, $pcname, $info , 0]);
    $pdo = null;
} else {
    $sql = "UPDATE sloader SET info=? WHERE pcname=?";
    $stmt= $pdo->prepare($sql);
    $stmt->execute([$info, $pcname ]);
}

Очень прошу Вашей помощи
  • Вопрос задан
  • 47 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Составной UNIQUE индекс по ownerid и pcname. Запрос INSERT ... ON DUPLICATE KEY UPDATE
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы