본문 바로가기
MySql

MySQL HTML 양식에서 SQL 테이블에 데이터 삽입

by 베이스 공부 2020. 10. 30.
반응형

나중에 사용할 수 있도록 새 행을 삽입하는 데이터베이스에 보유하고있는 데이터를 전송해야하는 HTML 양식이 작성되었습니다. 그러나 작동하지 않는 것 같고 다음과 같은 오류가 발생합니다.

참고 : 정의되지 않은 상수 con 사용- 4 행의 C : \ xampp \ htdocs \ form \ insert.php 에서 'con'으로 가정

경고 : mysql_query ()는 매개 변수 1이 문자열, 17 행의 C : \ xampp \ htdocs \ form \ insert.php 에 제공된 객체 일 것으로 예상합니다. >
데이터가 삽입되지 않았습니다.

<!DOCTYPE html>
<html>
    <head>    
        <title>Form linked to database</title>
    </head>
    <body>
        <form action="insert.php" method="post">
            Name: <input type="text" name="username">
            <br>
            Email: <input type="text" name="email">
            <br>
            <input type="submit" value="insert">
        </form>
    </body>
</html>
<?php
$con = mysqli_connect('localhost','[retracted]','[retracted]');

if(!con) {
    echo 'Not connected to server!';
}

if(!mysqli_select_db($con,'tutorial')) {
    echo 'Database not selected!';
}

$Name = $_POST['username'];
$Email = $_POST['email'];

$sql = "INSERT INTO person (Name,Email) VALUES ('$Name','$Email')";
if(!mysql_query($con,$sql)) {
    echo 'Data not inserted';
} else {
    echo 'Data inserted';
}
//header("refresh:2; url=form.html");
?>


나는 또한 이것을 위해 localhost에서 XAMPP를 사용하고 있습니다. 도움을 주시면 감사하겠습니다. 감사합니다.

 

해결 방법

 

변경해야합니다.

if(!con){
    echo 'Not connected to server!';
}

에:

if(!$con){
    echo 'Not connected to server!';
}

거기에 달러 기호가 없습니다.

또한 여기에서 mysqli _ 개체 $ con 에서 mysql _ 함수를 사용하고 있습니다.

if(!mysql_query($con,$sql))

이것을 다음으로 변경하십시오.

if(!mysqli_query($con,$sql))

SQL 주입


 

참조 페이지 https://stackoverflow.com/questions/41484216

 

 

반응형

댓글