2014-09-09 4 views
-1

난 그냥 PHP를 사용하여 내 양식 내 SQL을 연결을 시도하지만 항상 기능 에코 error_reporting은 (와 32767을보고) 그리고 난 맥 에 MAMP 2.1을 사용하고이 내 전체 코드입니다 :PHP에서 마지막 오류를 얻는 방법?

$name = $_POST[name]; 
$topic = $_POST[topic]; 
$tell = $_POST[tell]; 
$birthDay = $_POST[birthDay]; 
$job = $_POST[job]; 
$email = $_POST[email]; 
$lastMajor = $_POST[lastMajor]; 
$major = $_POST[major]; 
$add = $_POST[add]; 
$today = "test"; 

$connectionString = mysqli_connect("localhost","root","root","myDB"); 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

mysqli_query($connectionString,"INSERT INTO coWork (topic , name , tell , birthDay , job , email , lastMajor , major, add , date) 
    VALUES ('$topic', '$name','$tell','$birthDay','$job' , '$email' , '$lastMajor' , '$major' , '$add' , '$today')"); 

mysqli_close($connectionString); 
echo error_reporting(); 

방법 이걸 고쳐 줄래? !!

+6

error_reporting은 오류를보고하지 않으며 오류보고 _level_을 설정/가져옵니다. – georg

+0

무슨 뜻입니까? –

+2

[매뉴얼] (http://php.net/manual/en/function.error-reporting.php)보다 더 잘 설명 할 수 없다고 생각합니다. – georg

답변

3

error_reporting() =>Sets which PHP errors are reported

당신이 mysqli_error 또는 mysqli_errno

를 사용해야합니다, 그래서 당신이 MySQL의 오류가하려는 경우 error_get_last 또는 set_error_handler

같은 기능을 사용할 필요가 오류를 처리/얻으려면

if (!mysqli_query($connectionString, 'INSERT ...')) { 
    printf("Error: %s\n", mysqli_error($connectionString)); 
} 

Quentin처럼 SQL 주입 공격에 취약합니다. 따라서 mysqli_real_escape_string 또는 mysqli_prepare을 사용하십시오.

+0

정말 사용했습니다,하지만 지금은 내가 당신이 말한 코드를 변경, 나는 1064 오류 번호를 얻을 구문 오류, 어떤 생각을 내가 틀린거야? –

+0

@Majidkhalili 아마 게시물 보관소에 나쁜 문자가 있습니다. 이것은 mysqli_real_escape_string 또는 mysqli_prepare를 더 잘 사용하는 또 다른 이유이다. – bitWorking

+0

나는 마침내 그 이유를 찾았다. 왜냐하면 그 열을 추가했기 때문에 주소를 바꿨고 모든 것이 잘 동작했다. 감사합니다 모든 사람;) –

관련 문제