나는 2 개의 테이블 users
과 short_style
을 가지고 있습니다. 표 users
의여러 행의 ID가 같을 때 행을 삭제하는 방법
필드 표 users
에 사용자에 의해 삽입
id int primary not null auto increment
username
password
firstname
lastname
데이터 :
users
id username password firstname lastname
1 jsmith md5hash john smith
2 jbrown md5hash jane brown
테이블
short_style
에 사용자에 의해 삽입
데이터 :
short_style
id style_name style_cost style_time number_of_styles
1 bald 10 30 1
2 wash 5 15 2
1 shave 12 30 3
2 line 8 15 4
1 wash Free 15 6
2 color 20 30 7
I 수 h 사용자가 새 스타일을 추가하면 해당 코드가 완벽하게 작동합니다.
사용자가 데이터를 업데이트하도록 할 수 있습니다. 그 코드는 완벽하게 작동합니다.
유일한 데이터이므로 number_of_styles
데이터를 타겟팅하는 방법을 모르기 때문에 사용자 데이터를 삭제하는 데 어려움이 있습니다.
내가 알기에는 (이 짧은 시간에) DELETE
은 2 개의 매개 변수 인 표 이름과 표 행 (가정)을 사용합니다.
어떻게하면됩니까? 긴 HTML 죄송합니다
, 나는 아직 코멘트에 HTML을 표시하는 방법을 알아 내지 못했다. 내가 가진 무엇 :
<?php
if (isset($_POST['delete_servicename'])&&
isset($_POST['update_category'])) {
$delete_servicename = $_POST['delete_servicename'];
$category = $_POST['update_category'];
$atta = '_name';
$delete = "$category$atta";
$query = "SELECT $delete FROM $category WHERE `id`='".$_SESSION['user_id']."'";
$query_run = mysql_query($query);
if(mysql_num_rows($query_run)==1) {
$dquery = "DELETE FROM $category WHERE $id = '".$_SESSION['user_id']."'";
}
}
?>
<form action="services_update.php" method="POST">
<div class="a_u_d_sort">
<ul>
<li class="a_u_d_sort_left">
<p>Category:</p>
</li>
<li class="a_u_d_sort_right">
<select name="update_category">
<option value="">select</option>
<option value="short_style">Short Style</option>
<option value="medium_style">Medium Style</option>
<option value="long_style">Long Style</option>
<option value="other_services">Other Service</option>
</select>
</li>
</ul>
</div>
<div class="a_u_d_sort">
<ul>
<li class="a_u_d_sort_left">
<p>Service Name:</p>
</li>
<li class="a_u_d_sort_right">
<input type="text" name="delete_servicename"></input>
</li>
</ul>
</div>
<button class="add" type="submit">Delete</button>
</form>
는, 제발 ['mysql_로 사용하지 마십시오 *'기능 (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php), 그들은 더 이상 없다 (공식적으로 권장되지 않음) (https://wiki.php.net/rfc/mysql_deprecation). 대신 [prepared statements] (http://en.wikipedia.org/wiki/Prepared_statement)에 대해 알아보고 [PDO] (http://us1.php.net/pdo) 또는 [MySQLi] (http : //)를 사용하십시오. us1.php.net/mysqli). [이 기사] (http://php.net/manual/en/mysqlinfo.api.choosing.php)를 사용하면 결정하는 데 도움이됩니다. –
delete는'where' 절을 사용할 수 있습니다. 이것은'select'에서와 똑같이 작동 할 것입니다. 게다가, 당신은 삭제의 SQL 오류가 있습니다. 'WHERE $ 아이디 = $ results'? 'id'는 PHP 변수가 아닌 테이블의 필드입니다. PHP는 변수가 될 것으로 예상되는 경우, 그리고 희망 ..., 그것은 정의되지 않은 변수이고 효과적으로 WHERE 내가 아는 = $ results' –
@JayBlanchard하지만 난 그냥 배우고 나는뿐만 아니라이 배우고 싶은'하고있는 나는 다음 주에이 사이트에서 일을 잘할 수 없다.나는 PDO MYSQLI로 업데이트 할 계획을 가지고있다. – tru