Чтение строки из базы данных MySQL в PHP

0

Я попытался прочитать данные из своей базы данных, чтобы узнать, правильно ли я вставил их. Однако в следующем коде есть ошибка.

$pwdcrypt = SHA1($pwd);
$userregisterquery='INSERT INTO user (email, password) VALUES ('.$email.', '.$pwdcrypt.')';
echo $userregisterquery;
mysqli_query($link, $userregisterquery);

//    echo "Kantaan vietiin sähköposti: ".$email. " ja salasana: ".$pwdcrypt;

$usergetdataquery='select email, password FROM user WHERE email=\''.$email.'\'';
//echo $usergetdataquery; 
$result =  mysqli_query($link, $usergetdataquery);
$row = mysqli_fetch_row($result);
echo "the result is:".print_r($row);

Он выводит

INSERT INTO user (email, password) VALUES ([email protected], fcf007079136b14ee9632ea2e3b1e85a061f5006)select email, password FROM user WHERE email='[email protected]'SELECT user.id FROM user WHERE email = '[email protected]'the result is:1

С другой стороны, когда я проверяю таблицу в терминале, он выводит только идентификатор пользователя, который я вставлял туда через терминал, у которого есть другой адрес электронной почты. Почему я не могу видеть, что пользователь, который я вставил через WWW-форму?

Теги:

1 ответ

0
Лучший ответ

В строке

$userregisterquery=...

вы забыли цитаты. Он должен читать:

$userregisterquery='INSERT INTO user (email, password) VALUES ("'.mysql_real_escape_string($email).'", "'.mysql_real_escape_string($pwdcrypt).'")';

В строке

$usergetdataquery=...

у вас есть кавычки, но у вас нет mysql_real_escape_string(), поэтому он будет работать, но это проблема безопасности, если $email поступает извне.

  • 0
    Я думаю, что вы имеете в виду mysql_real_escape_string () - addlashes () недостаточно безопасен.
  • 0
    Я отредактировал ответ. Однако я не знаю никакой атаки на addlashes (), если кодировка соединения соответствует UTF-8 или ISO-8859-15, как, вероятно, в финском приложении.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню