코드에 문제가 있습니다. 입력 이름이 Name의 데이터베이스 정보와 동일한 지 확인합니다.MySQLi를 사용하여 PHP 입력과 데이터베이스를 비교하십시오.
그렇지 않은 경우 다른 결과를 인쇄하고이 정보를 데이터베이스에 추가하십시오.
제 문제는 else의 코드가 작동하지 않는다는 것입니다. if의 결과를 항상 출력합니다.
또한 데이터베이스의 모든 정보를 삽입하지 않으면 INSERT 코드를 복사하려고합니다.
내가 뭘 잘못하고있는거야?. 나는 PHP와 MySQL에 완전히 새로운 오전
<!DOCTYPE HTML>
<html>
<head>
<?php
// Load the configuration file containing your database credentials
require_once('config.inc.php');
// Connect to the database
$mysqli = new mysqli($database_host, $database_user, $database_pass, $database_name);
// Check for errors before doing anything else
if($mysqli -> connect_error)
{
die('Connect Error ('.$mysqli -> connect_errno.') '.$mysqli -> connect_error);
}
$name = $_GET["name"];
$email = $_GET["email"];
$mysqli->real_query("SELECT * FROM first_project WHERE Name = '$name'");
if ($mysqli->field_count > 0)
{
echo "HAVE A GOOD DAY! $name";
echo "Your email is $email";
}
else
{
echo "Your were not part of the database, you and your data have been added $name";
$mysqli->query("INSERT INTO first_project VALUES ('$name', '$email')");
}
$mysqli -> close();
?>
</body>
</html>
코드가 SQL 삽입에 취약합니다. 대신 [prepared statements] (https://www.youtube.com/watch?v=nLinqtCfhKY)를 사용하는 법을 배우십시오. –
우리는 또한 HTML 폼을 볼 필요가있다. (최소한 name = "name"을 가진 입력이 존재하는지 확인해야한다.) select 질의 전에'$ name'의 값을 확인할 수 있습니까? – WOUNDEDStevenJones