Mysqli_num_rows() ожидает параметр 1, чтобы быть mysqli_result логическое приведены в PHP
<?php session_start(); $con = mysqli_connect('localhost','root','123456'); mysqli_select_db($con, 'usserregistration'); $name = $_POST['user']; $pass = $_POST['password']; $s = " select * from usertable where name = '$name' "; $result = mysqli_query($con, $s); $num = mysqli_num_rows($result); if($num == 0){ echo "Usrtname Already Taken"; }else{ $reg= " insert into usertable(name , password) values ('$name' , '$pass')"; mysqli_query($con, $reg); echo" Registration Sucessfull"; } ?>
Что я уже пробовал:
попробовал изменить параметры, а также изменить имя таблицы
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
PHP: SQL-инъекция - руководство пользователя[^]
Richard Deeming
Вы также храните пароли в виде обычного текста. Не делай этого.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]
PHP даже имеет встроенные функции, которые помогут вам сделать все правильно:
PHP: password_hash[^]
РНР: функцию password_verify[^]