Моя программа PHP вставляет 0 вместо строки в одном из полей - PullRequest
0 голосов
/ 06 мая 2019

Я делаю Api в PHP, чтобы сделать Crud в Android Studio, и мне нужно вставить или обновить 4 поля в базе данных, но одно из них всегда вставляет 0 вместо строки, которую я передаю (Одно из полейvarchar, а остальные 3 являются текстами, и только один из текстов вставляет 0)

Код в php:

function createComponente($nome, $descricao, $riscos, $descarte){
    $stmt = $this->con->prepare("INSERT INTO componente (nome, descricao, riscos, descarte) VALUES (?, ?, ?, ?)");
    $stmt->bind_param("ssis", $nome, $descricao, $riscos, $descarte);
    if($stmt->execute())
       return true; 
    return false;
}

Код в Api, который вызывает функцию:

$result = $db->createComponente(
                    $_POST['nome'],
                    $_POST['descricao'],
                    $_POST['riscos'],
                    $_POST['descarte']
                );

Программа возвращает все правильно и вставляет правильно, но третье поле (riscos) всегда идет с 0 вместо строки, которую я передаю.

(nome - varchar, а остальное - текст)

1 Ответ

0 голосов
/ 06 мая 2019

вы связывали одно значение как целое число, когда вы действительно хотели строку, поэтому php привел ее к 0

$stmt->bind_param("ssis", $nome, $descricao, $riscos, $descarte); 

должно быть

$stmt->bind_param("ssss", $nome, $descricao, $riscos, $descarte); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...