2011-03-04 5 views
0

특정 값 (칼 및 담요)을 데이터베이스에 삽입하려하지만 DB/테이블에 전혀 삽입하지 않습니다. 또한, 아래 표에 삽입 된 값을 표시하고 싶습니다. 또한 작동하지 않습니다. 테이블에 표시 할 삽입에 따라 다릅니다. 필자는 phpmyAdmin을 통해 값을 삽입 했으므로 테이블에 표시 했으므로 확실합니다. 제발, 삽입면을 고쳐야합니다.특정 값을 DB에 삽입하여 테이블에 표시 하시겠습니까?

삽입 코드/오류 처리기

<?php 
if (isset($_POST['Collect'])) { 
if(($_POST['Object'])!= "knife" && ($_POST['Object'])!= "blanket") 
{ 
    echo "This isn't among the room objects."; 
}else { 
// this makes sure that all the uses that sign up have their own names 
$sql = "SELECT id FROM objects WHERE object='".mysql_real_escape_string($_POST['Object'])."'"; 
$query = mysql_query($sql) or die(mysql_error()); 
$m_count = mysql_num_rows($query); 

if($m_count >= "1"){ 
    echo 'This object has already been taken.!'; 
    } else{ 
    $sql="INSERT INTO objects (object) 
VALUES 
('$_POST[Object]')"; 

echo "".$_POST['object']." ADDED"; 
} 
} 
} 

?> 

표 PLUS EXTRA PHP 코드

<p> 
<form method="post"> 
</form> 
Pick Object: <input name="Object" type="text" /> 
<input class="auto-style1" name="Collect" type="submit" value="Collect" /> 
</p> 

<table width="50%" border="2" cellspacing="1" cellpadding="0"> 
     <tr align="center"> 
     <td colspan="3">Player&#39;s Object</td> 
     </tr> 
     <tr align="center"> 
     <td>ID</td> 
     <td>Object</td> 
     </tr> 
     <? 
$result = mysql_query("SELECT * FROM objects") or die(mysql_error()); 
// keeps getting the next row until there are no more to get 
    while($row = mysql_fetch_array($result)) { 
// Print out the contents of each row into a table?> 
     <tr> 
     <td><label for="<?php echo $row['id']; ?>"><?php 
    $name2=$row['id']; 
    echo "$name2"; ?> 
    </label></td> 
     <td><? echo $row['object'] ?></td> 
     </tr> 
     <?php }// while loop ?> 
    </table> 

</body> 

답변

-1

귀하의 SQL 구문이 잘못되었습니다. 당신은 변경해야합니다 :

INSERT INTO objects SET id = '', object = '".$_POST['Object']."' 

당신이 당신의 삽입도있을 INSERT 반대로 교체 사용할 수있는 값을 바꾸려면

INSERT INTO objects (id, object) VALUES ('', '".$_POST['Object']."' 

에.

+1

"SET field = value"문이 실제로 잘 작동하고 있습니다. – Tsadiq

+0

감사합니다. 나는 그 비트를 고쳤지만 여전히 작동하지 않는다. 문제가있는 경우 오류 처리를 확인하십시오 – Kelvin

0
if(($_POST['Object'])!= knife || ($_POST['Object'])!= blanket) 

가치 칼 및 담요는 문자열입니다. 객체의 기본 키 ID이며이 자동 증가

$sql = "INSERT INTO objects SET id = '', object = '".$_POST['Object']."'"; 

로 설정되어있는 경우

+0

고맙습니다. – Kelvin

0

), 그래서 당신은 문자열, 또는 이해하지 못할 PHP로 정의하도록 따옴표를 사용해야합니다

$sql= "INSERT INTO objects(object) VALUES ('".$_POST['Object'].")'; 

을 시도하고 당신은 아마 거기에 탈출을 두어야 너무

0

당신은 쿼리가도 올바른 삽입합니다.

$ sql = "INSERT INTO 개체 (ID, 개체) 값 ('', '"$ _ POST ['Object ']. "))"; 변수가 하나 개의 값을 가질 수 있기 때문에

이 코드

if(($_POST['Object'])!= "knife" || ($_POST['Object'])!= "blanket") 
{ 
    echo "This isn't among the room objects."; 
} 

항상 객체의 값 칼이나 담요가 실행됩니다.

if(($_POST['Object'])!= "knife" && ($_POST['Object'])!= "blanket") 
    { 
     echo "This isn't among the room objects."; 
    } 
+0

여전히 작동하지 않습니다. – Kelvin

+0

@Kelvin : updated. – Gaurav

관련 문제