php로 쿼리로 값넘기는 문제.

php로 쿼리로 값넘기는 문제.

QA

php로 쿼리로 값넘기는 문제.

답변 1

본문

안녕하세요 냉장고 관리하는 php페이지를 만드려고 하는데 

필드로 입력받은 이름값을 기준으로 삭제하려고 하는데 delete기능이 작동을 안하네요..

 

DELETE FROM `ZIPEL` WHERE name = '멸치'


이런식으로 쿼리문을 작동시키면 정상적으로 되는데 

$sql1 = "DELETE FROM `ZIPEL` WHERE name = '('name')' ";

$sql1 .= "('$name1')";

 

이렇게 하니 작동을 안하네요..

 


b0eb2736409b4154577e65ff6306a208_1449501533_6049.PNG 


<?
	$connect=mysql_connect("localhost","g1","111");
	$db_con=mysql_select_db("g1", $connect);
 
	$sql="select *from ZIPEL";
	$result = mysql_query($sql,$connect);
 
	mysql_query("set session character_set_connection=utf8;");
	mysql_query("set session character_set_results=utf8;");
	mysql_query("set session character_set_client=utf8;");
	$fields=mysql_num_fields($result);
	
	if($mode=="insert")
	{
		$sql = "INSERT INTO `g1`.`ZIPEL` (`group`, `name`, `value`, `indate`, `duedate`, ` expdate`) VALUES";
		$sql .= "('$group', '$name', '$value', '$indate', '$duedate', '$expdate')";
		mysql_query($sql);
	}
 
 
        if($mode1=="delete")
	{
		$sql1 = "DELETE FROM `ZIPEL` WHERE name = '('name')' ";
		$sql1 .= "('$name1')";
		mysql_query($sql1);
	}
?>
 
<head>
<title> 냉장고</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<p> </p>
<center>
<h2>냉장고</h2>
<p> </p>
</center>
<center>
  <table width=1000 border=0 cellspaceing=1 cellpadding=3 bgcolor=#cccccc>
<tr>
<form action=<? echo $PHP_SELF ?> method='post'>
<td width="1000" height="95" bgcolor=beige>
<center>
  <p>그룹<input name=group type = text size="5" maxlength="5">
    이름 <input name=name type = text size="5" maxlength="10">   
    수량 <input  name=value type = int(11) size="2" maxlength="2">  
    입고일 <input name=indate type = text size="5" maxlength="5">  
    유통기한 <input name=duedate type = text size="5" maxlength="5">  
    예상일 <input name=expdate type = text size="5" maxlength="5" />
 
  
 
 
 
<input type=submit value="추가" /> 
<input type="button" name="버튼" value="새로고침"onclick="location.href='http://'";> 
   
<input type=hidden name=mode value='insert'>
  </p>
</center></td>
 
</tr>
</table>
</center>
 
 
 
<center>
  <table width=1000 border=0 cellspaceing=1 cellpadding=3 bgcolor=#cccccc>
<tr>
 
<td width="1000" height="95" bgcolor=beige>
<center>
  <p>이름 <input name=name1 type = text size="5" maxlength="10"/>   
 
 
 
 
<input type=submit value="삭제" /> 
<input type=hidden name=mode1 value='delete'>
  </p>
</center></td>
</form>
</tr>
</table>
</center>
 
 
 
<center>
<p> </p>
<table width=700 border = 1 cellpadding=10>
<tr>
<td width="200"bgcolor=lightgray align=center>그룹</td>
<td width="200" align=center bgcolor=lightgray>이름</td>
<td width="100" align=center bgcolor=lightgray>수량</td>
<td width="200"bgcolor=lightgray align=center>입고일</td>
<td width="200"bgcolor=lightgray align=center>유통기한</td>
<td width="200"bgcolor=lightgray align=center>예상일</td>
</tr>
 
<?
	while ($row=mysql_fetch_row($result))
	{
		echo("<tr>");
 
		for ($i=0; $i < $fields; $i++)
		{
			echo("<td> $row[$i] </td>");
		}
 
echo("</tr>");
}
mysql_close();
?>
</table>
 
</center>

이 질문에 댓글 쓰기 :

답변 1

        if($mode1=="delete")
022    {
023        $sql1 "DELETE FROM `ZIPEL` WHERE name = '('name')' ";
024        $sql1 .= "('$name1')";
025        mysql_query($sql1);
026    }

 

 

where name = 'name' 여기의 네임에 해당하는 값이 없는듯 한데요...

where name = '$name1' 이렇게 하심 될 듯 합니다.

$sql1 "DELETE FROM `ZIPEL` WHERE name = '('name')' "; 

$sql1 .= "('$name1')";

-> $sql1 "DELETE FROM `ZIPEL` WHERE name = '$name1' ";

$name1과 같은 이름이 삭제됩니다.


        
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 10
© SIRSOFT
현재 페이지 제일 처음으로