Скажем, у меня есть этот код:
$conn=new mysqli($host,$user,$pass,$dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO login (username, password)
VALUES ('$username','$password')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
Во втором операторе IF я проверил, действительно ли $ conn-> query ($ sql) === TRUE. Этот код работает, хотя я раньше не выполнял $ conn-> query ($ sql). В этом операторе IF PHP выполняет команду и проверяет, выполняется ли она одновременно. Что, если я хочу только проверить, а не выполнить? При каких обстоятельствах вы можете выполнить команду в операторе IF, а в чем вы только проверяете, было ли это выполнено ранее.
Я хотел спросить, не должно ли это быть $ conn-> query ($ sql); if ($ conn-> query ($ sql) === TRUE) {echo "Новая запись успешно создана"; } else {echo "Ошибка:". $ sql. «<br>». $ conn-> ошибка; }
Нет, вам следует сохранить результат в переменной, если вы хотите выполнить такую проверку. $result = $conn->query($sql); if ($result) ...






Думаю, я не совсем понимаю - если вам нужно только его первое значение, просто сохраните его результат в переменной и используйте его вместо этого. У вас нет возможности получить результат выражения (например, функции или метода в данном случае) без выполнения функции или метода. Он просто должен пройти через код, для выполнения которого предназначен метод. Вы мог начинаете транзакцию базы данных, а затем отменяете транзакцию, если она терпит неудачу, но зачем вам в этом случае? Если вы вставляете только один объект, и он не может быть вставлен, вам не нужно ничего делать с ним.