Mysqli Insert не работает. Никаких ошибок не появляется

У меня есть небольшая проблема с моим Mysqli Insert здесь. Я вставил блок try вокруг вставки, чтобы перехватить возможные ошибки, я получил уведомление о том, что это сработало, но данные не были вставлены.

Вот код:

$mysqli = new mysqli("localhost", "yourusername", "somepasswdhere", "users");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}//formular set ?
if(isset($_POST['submit'])) {
echo $_POST['username'];

//bind post variables on local vars.
$username = $_POST['username'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$password = $_POST['password'];
$cpassword = $_POST['cpassword'];

// Heres some crap but thats not that problem so im getting
// right into the next
// maybe problem part

try{
$mysqli->query("INSERT INTO `users` ($username) VALUES ('$username')");
$mysqli->commit();
echo "works";
} catch(Exception $e) {
echo $e->getMessage(), "\n";
}

Чтобы быть уверенным, что мой код будет зафиксирован, я поставил $mysqli->commit();

1

Решение

Можете ли вы попробовать следующее для проверки ошибок:

$success = $mysqli->query(<YOUR SQL QUERY>);
if (!$success) {
print_r($mysqli->error);
}

Кроме того, в вашем запросе почему у вас есть первое $ username? Я считаю, что это должно быть имя вашей колонки в следующем формате:

INSERT INTO `users` (<col name>) VALUES (<value>);
0

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

Ваше имя столбца не должно содержать знак «$». Вместо этого используйте это.

$mysqli->query("INSERT INTO `users` (username) VALUES ('$username')");

Надеюсь, это поможет вам.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector