Простая вставка mysql в ошибку, запрос не выполняется и данные не вставляются в таблицу - PullRequest
0 голосов
/ 06 июня 2018

У меня есть некоторый код вставки, подобный следующему:

$a = md5(uniqid(rand(), true));

$query = "INSERT INTO users(email, password, first_name, last_name, active, registration_date, city) VALUES ('$e', SHA('$p'), '$fn', '$ln', '$a', NOW(), '$c')";

$result = mysqli_query($dbc, $query) or trigger_error("Sorry an error happened");

, и он не вставляется в базу данных.Код подключения:

DEFINE ('DBUSER', 'admin');
DEFINE ('DBPW', 'asd123');
DEFINE ('DBHOST', '127.0.0.1');
DEFINE ('DBNAME', 'test');

$dbc = @mysqli_connect(DBHOST, DBUSER, DBPW, DBNAME);

Я думаю, что это как-то связано с командами SHA или NOW (), раньше он работал с mysql, но его изменение на mysqli оказывается непростым делом.

Я пытался добавить ". $ Variable."скобки к переменным, но не повезло.

1 Ответ

0 голосов
/ 06 июня 2018

Для других пользователей. У меня была проблема с тем, что в базе данных не было значений NULL для полей, в которые я пытался вставить.Поэтому, чтобы это исправить, перейдите к своему mysql PHPadmin, войдите в систему и перейдите в свою базу данных, нажмите на структуру и в столбце с именем default убедитесь, что для всех полей установлено значение NULL.Например: если большинство говорит NULL, но есть одно, которое говорит none, вставка в не будет работать.Поэтому поставьте галочку в этом поле (поле «Нет» в столбце по умолчанию) и нажмите «Изменить».Там вы можете установить для поля по умолчанию значение NULL, используя выпадающий список.

У меня была эта проблема при переносе кода с mysql на mysqli.mysql, казалось, вставлял безотносительно к «пустому требованию».Легко исправить, хотя.

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