Почему этот оператор подготовки MySQLi не может обновить базу данных? - PullRequest
1 голос
/ 30 марта 2019

Я использую MySQLi подготовить операторы в php. Точно такой же код работает на моей локальной машине, но не работает на онлайн-сервере (он не вставляется в таблицу базы данных). Я нуб сервера, поэтому я не знаю, есть ли настройка, которую мне нужно настроить или нет. Ветвь else в следующем коде я получил из другого SO вопроса, но он не возвращает никаких ошибок. У меня есть следующее в верхней части моего php-файла:

error_reporting(E_ALL);
ini_set('display_errors', 1);

изменить, чтобы добавить: $conn->prepare(....) возвращается false

$conn = new mysqli($SERVER, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

if ($stmt = $conn->prepare("INSERT INTO tblTasks (taskID, blockNumber, transactionID, tasker, permlink, title, price, location, currency, tags, `status` ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")) {
    $stmt->bind_param("sssssssssss", $taskID, $blockNumber, $transactionID, $tasker, $permlink, $taskTitle, $taskPrice, $location, $currency, $tags, $status);
    if(!$stmt->execute()) {
        die("Insertion failed.");
    }
    $stmt->close();
} else {
    $error = $conn->errno . ' ' . $conn->error;
    echo $error;
}

1 Ответ

0 голосов
/ 30 марта 2019

Благодаря помощи в разделе комментариев я смог реализовать успешное создание отчетов об ошибках и обнаружил, что ошибка - это простой случай использования заглавной буквы таблицы, когда ее не нужно было использовать с заглавной буквы. В моих локальных окнах заглавная буква среды игнорируется, тогда как в среде разработки Linux заглавные буквы строги!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...