2014-11-10 3 views
-1

PHP 코드를 통해 mysql 데이터베이스에 일부 값을 삽입하려고합니다. 그것은 곧장 나아졌지만 작동하지 않습니다.PHP 간단한 삽입이 작동하지 않습니다

$first = $_POST['first']; 
$last = $_POST['last']; 
$address = $_POST['address']; 
$mjesto = $_POST['mjesto']; 
$ptt = $_POST['ptt']; 
$email = $_POST['email']; 
$phone = $_POST['phone']; 

$a=1; 

$conn = new mysqli('server', 'user', 'pass', 'db'); 
// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 



$sql = "insert into imtecEvents values 
    ('".$a."', '".$first."', '".$last."', '".$address."', '".$mjesto."', '".$ptt."', '".$email."', '".$phone."', '".$a."')"; 

$conn->query($sql); 
+1

1. 추적 삽입 된 모든 데이터와 위해서 var_dump를 발행? 2. 이것이 SQL 인젝션에 대한 초대임을 이해합니까? – JimiDini

+0

당신의 질의가 정확하지 않습니다 : "TABLENAME (field1, field2, field3) VALUES (field1value, field2value, field3value")에 삽입하십시오 : "JimiDini가 말했듯이, 당신의 코드는 SQL 삽입을 사용하려면 쿼리를 먼저 준비하고 쿼리를 수행하기 전에 얻은 값을 확인해야합니다. – briosheje

+0

imtecEvents (column1 등) 값 ('value1'등)에 삽입 – roullie

답변

-2

시도 이것을 사용 :

INSERT INTO table_name (column1,column2,column3,...) 
VALUES (value1,value2,value3,...); 
+0

몇 가지 설명을 추가해 주시겠습니까? 왜 이것이 해결책이라고 생각하십니까? – fejese

+0

이것은 데이터를 채울 필드의 쿼리에 열 이름을 지정하는 것이 가장 좋은 방법이기 때문입니다. 위와 같습니다. $ sql = "imtecEvents 값 ('. $ a."', ' ". $ first."', ' ". $ last."', ""$ 주소. ',' ". $ mttest", ". $ ptt." ',' "$ email." ',' ". $ phone." ',' ". $ a." ') "; $ a가 테이블의 첫 번째 열에 전달되고 table의 첫 번째 열이 id (고유) 인 경우. 그런 경우 코드는 데이터베이스에 레코드를 추가하지 않을 것이므로 처음으로 완벽하게 실행됩니다. –

+0

나는 당신의 요지를 이해하고 그것을 유효한 것으로 생각한다. 그것은 내가 반드시 질문과 관련이 없다는 것이다. 필드 목록을 지정하는 것은 선택 사항이며 문제는 아닙니다. 문제는 OP가 매번 동일한 not-null 값으로 id를 지정한다는 것입니다. – fejese

0

당신이 $_POST 배열의 모든 값이 설정되어 있는지 확인 여기에 내 코드는? 해당 배열 print_r() 또는 var_dump()을 인쇄하여 값이 설정되어 있는지 확인하십시오. 둘째, 삽입하려는 값의 순서/번호가 DB에있는 순서/번호인지 확인하십시오.

+0

나는 나의 우편물에 값을 보내고 있기 때문에 나는 확신한다. –

+0

실행하기 전에 쿼리를 인쇄하여 확인하십시오. – Anas

1

적어도 당신이 있는지 확인하려면이 코드를 출구 ($ conn-> 오류())를 추가하는 코드에서

$conn->query($sql); 

시도 mysql을 주입

을 방지하기 위해 MYSQLI PREPARE를 사용한다 오류는 SQL과 같습니다.

$conn->query($sql) or exit($conn->error()); 

없는 경우, 당신은 당신이 어떤 에러가 발생합니까

관련 문제