2015-01-25 4 views
0

삽입 명령에 관한 정말 흥미로운 문제가 있습니다.MySQL PHP INSERT 문제

"id"와 "note"인 두 개의 열로 구성된 데이터베이스가 있고 id는 기본 키이며 자동 증가됩니다.

하지만

내가 "ID"에 납입을 삽입 할 수 있지만 "주의"아무것도 삽입 할 수 없습니다.

echo '<form method="POST">'; 
echo   '<table>'; 
echo    '<thead>'; 
echo     '<tr>'; 
echo      '<th class="genislik100">Yeni Not Ekle</th>'; 
echo      '<th></th>'; 
echo      '<th class="metinSag"></th>'; 
echo     '</tr>'; 
echo    '</thead>'; 

echo    '<tbody>'; 
echo     '<tr>'; 
echo      '<td>Yeni Not:</td>'; 
echo      '<td><input type="text" id="note" name="not" /></td>'; 
echo      '<td class="metinSag"></td>'; 
echo     '</tr>'; 

echo     '<tr>'; 
echo      '<td><input type="submit" name="submit" Value="Yeni Notu Ekle!!" /></td>'; 
echo      '<td></td>'; 
echo      '<td class="metinSag"></td>'; 
echo     '</tr>'; 

echo    '</tbody>'; 
echo   '</table>'; 
echo    '<form>'; 




    if (isset($_POST['submit'])){ 
         if($_POST['note'] != ''){ 

          $note=$_POST['note']; 

          $con=mysql_connect("localhost","root","") or die("ERROR!!"); 
          mysql_select_db("db") or die("COULDN'T FIND IT!!") or die("COULDN'T FIND DB"); 

          $sql="INSERT INTO meteksan_notlar (note) VALUES ('$note')"; 
          mysql_query($sql,$con); 

          echo '<script>alert("OKAY!!");</script>'; 

          }else 
          echo "<script>alert('FILL THE BLANK!!');</script>";   

        } 

"OKAY"경고가 표시되지만 데이터베이스를 보면 "메모"열에 아무것도 표시되지 않습니다. 왜 ??

도와주세요. 감사.

<input type="text" id="note" name="note" /> 

는 코드 변경과 같이 읽어야합니다

+0

당신이 산에서 새들의 메아리를들을 때 씨야 꼭 그것을 사랑 해요. 그러나 도시에서 너무 많은 사람들이 자동차를 더럽고 빠르게 잡습니다. –

+0

이 특수 문장을 어떻게해야합니까? : D – Burak

+0

그것은 모든 에코가 무의미하며 아무것도 코딩하지 않는 것을 의미합니다. 에러를 알아 내려면'mysql_query()'에'die or mysql_error())'를 추가하십시오. 여는'

답변

2

다음에, 내가 말했을 때받은 비추천 메시지를 반영하기 위해 주석에 오류보고를 추가하십시오.

if (isset($_POST['submit'])){ 
    if($_POST['note'] != ''){ 

     $note=$_POST['note']; 

     $con=mysqli_connect("localhost","root","", "db") 
       or die("Error " . mysqli_error($con)); 

     $sql="INSERT INTO meteksan_notlar (note) VALUES ('$note')"; 
     mysqli_query($con, $sql) or die(mysqli_error($con)); 

     echo '<script>alert("OKAY!!");</script>'; 

     }else { 
     echo "<script>alert('FILL THE BLANK!!');</script>"; 
     }   

    } 


오류를 찾는 데 도움이됩니다 파일 (들)의 상단에 error reporting를 추가합니다.

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

// rest of your code 

(!) 참고 : 오류보고는 생산을 결코 준비에서 수행하지 않으며,해야합니다.


각주 :

당신도 수행 할 수 있습니다 (그리고 SQL 주입에 대한 보호)

$note = stripslashes($_POST['note']); 
$note = mysqli_real_escape_string($con, $_POST['note']); 

$sql="INSERT INTO meteksan_notlar (note) VALUES ('$note')"; 
$query = mysqli_query($con, $sql) or die(mysqli_error($con)); 

if($query){ 
echo '<script>alert("OKAY!!");</script>'; 
} 
else{ 
echo "There was an error" . mysqli_error($con); 
} 
+0

고맙습니다. !!! – Burak

+0

@BurakUlu 당신은 Burak을 매우 환영합니다. * 환호! –

2

<input type="text" id="note" name="not" />

이름 = 있어야한다 "없습니다"이름 = "참고"

<input type="text" id="note" name="not" /> 

의 오타 게다가

+0

같은 결과 .... – Burak