пустое значение после обновления mysql Переполнение стека

Я провел много исследований здесь и в Google, но не могу найти ответ на эту проблему.

Я обновляю поле в базе данных MySQL следующим кодом:

public function registerPubKey() {

$stmt = $this->cn->prepare('UPDATE sb_user SET pubkey= ? WHERE email= ?');
$exres = $stmt->execute(array($this->info["pubkey"],$this->info["email"]));
if ($exres == false) { $resultArray["result"] = "Error registering public key"; echo json_encode($resultArray); exit; }

$resultArray["result"] = "success"; echo json_encode($resultArray);
}

Я уверен, что все работает, кроме того, что поле в базе данных пусто. Я сбросил приватную переменную $ info, и она содержит pubkey (pubkey — это строка base64).

Я заметил, что если я изменю запрос на обновление с помощью INSERT, значение будет вставлено правильно!

0

Решение

Вероятно, потому что вы пытаетесь UPDATE несуществующие строки. Попробуйте добавить ON DUPLICATE KEY до. Увидеть INSERT … ON DUPLICATE KEY UPDATE Синтаксис. UPDATE ничего не возвращает, если строка не существует.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]