Я получаю сообщение об ошибке свойства num_rows в php mysql
Мой код: -
<?php
require ('connect.php');
$inputemail = $_POST['email'];
$sql = "SELECT*FROM accounts WHERE Email='$inputemail' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
die ("Email is already registered....");
}
else {
echo "Congrats!!";
}
?>
Ошибка:-
Notice: Trying to get property 'num_rows' of non-object
Но это работает: -
<?php
require ('connect.php');
$inputemail = $_POST['email'];
$sql = "SELECT*FROM accounts ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
die ("Email is already registered....");
}
else {
echo "Congrats!!";
}
?>
Почему??
См. как я могу предотвратить SQL-инъекцию в PHP и затем исправьте зияющую дыру в безопасности в вашем коде.
@droopsnoot Я пробовал ваш способ, но он не работает
Спасибо за обновления. Что-то не так с вашим предложением WHERE. например это может быть проблема с входными данными (я мог бы нарушить ваш запрос, просто поставив апостроф (') в поле электронной почты, или с помощью атаки SQL-инъекции), или это могло быть неправильное имя поля или что-то еще. Вам нужно получить фактическое сообщение об ошибке от mysqli - это несложно, пожалуйста, посмотрите дублирующийся вопрос в синем поле. В любом случае вам также необходимо исправить проблему с SQL-инъекцией / кавычками.






Ваш запрос запущен? Мне интересно, не вызывает ли отсутствие пробелов в
SELECT*FROMсинтаксическую ошибку. Работает ли он в phpmyadmin в той же форме? В любом случае вам нужно использовать подготовленные операторы вместо объединения строк в свой запрос, как только он у вас заработает.