나는 프로그래밍 경험이 있지만 PHP에는 익숙하지 않다. 이 튜토리얼에서 내가했던 예제에 문제가있다. 나는 그것의 수백만 번을 봤다, googled, ect 요법. 나는 왜 내 코드가 작동하지 않는지 전혀 모른다.PHP MySQL에서 삭제할 때
목적은 기본적으로 PHP에서 SQL에서 삽입 및 삭제를 테스트하고 레코드 추가 및 레코드 삭제 버튼을 사용하는 것입니다. 레코드 추가 버튼은 완벽하게 작동하지만 페이지를 다시로드하는 것 외에는 삭제하지 마십시오. 코드를 heres ...
<?php // sqltest.php
require_once 'login.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
mysql_select_db($db_database, $db_server)
or die("Unable to select database: " . mysql_error());
if (isset($_POST['author']) &&
isset($_POST['title']) &&
isset($_POST['type']) &&
isset($_POST['year']) &&
isset($_POST['isbn']))
{
$author = get_post('author');
$title = get_post('title');
$type = get_post('type');
$year = get_post('year');
$isbn = get_post('isbn');
if (isset($_POST['delete']) && $isbn != "")
{
echo "worked!!!!!!!!!!!!!!";
$query = "DELETE FROM classics WHERE isbn='$isbn'";
$result = mysql_query($query) or die(mysql_error());
if(mysql_affected_rows($result) > 0) echo 'user deleted';
//if (!mysql_query($query, $db_server))
//echo "DELETE failed: $query" . mysql_error();
}
else
{
echo "nooooooooooooooooooo";
$query = "INSERT INTO classics VALUES" .
"('$author', '$title', '$type', '$year', '$isbn')";
if (!mysql_query($query, $db_server))
{
echo "INSERT failed: $query" . mysql_error();
}
}
}
echo <<<_END
<form action="sqltest.php" method="post"><pre>
Author <input type="text" name="author" />
Title <input type="text" name="title" />
Type <input type="text" name="type" />
Year <input type="text" name="year" />
ISBN <input type="text" name="isbn" />
<input type='submit' value='ADD RECORD' />
</pre></form>
_END;
$query = "SELECT * FROM classics";
$result = mysql_query($query);
if (!$result) die ("Database access failed: " . mysql_error());
$rows = mysql_num_rows($result);
for ($j = 0 ; $j < $rows ; ++$j)
{
$row = mysql_fetch_row($result);
echo <<<_END
<pre>
Author $row[0]
Title $row[1]
Type $row[2]
Year $row[3]
ISBN $row[4]
<form action="sqltest.php" method="post">
<input type="hidden" name="delete" value="yes" />
<input type="hidden" name='isbn' value="$row[4]" />
<input type='submit' value='DELETE RECORD' />
</form>
</pre>
_END;
}
mysql_close($db_server);
function get_post($var)
{
return mysql_real_escape_string($_POST[$var]);
}
?>
나는 이것을 여러 번 보았지만, 왜 이것이 작동하지 않을지 전혀 모른다. 이 버튼이 작동하지 않는 for 루프입니까? 참고, echo "worked !!!"가 표시됩니다. 그리고 다른 에코 "noooooooo"; 그 버튼이 테스트되었는지 여부를 테스트하는 것이었지만 인쇄물은 없었습니다. 아마 버튼 코드 자체에서 뭔가를 놓친 것일까 요? 또한 오류가 인쇄되지 않으며 내 편집자 (및 나 자신)가 구문 오류를 놓쳤습니다 (해당되는 경우).
DB를 닫기 전에 삭제 버튼의 코드가 끝납니다.
미리 도움을 주셔서 감사합니다.
'$ _POST'에'var_dump()'를 수행하고 기대하고있는 값을 얻고 있는지 확인하십시오. –
@JohnConde 이걸 눈치 채 셨습니다. 여기 당신에게 멍청한 놈이 되서 미안하지만 그 일을 어떻게 할 것인가? 새로운 내용 = ( 입력 해 주셔서 감사합니다. – TheNoob
은 코드에서이 모양에 대한 답변을 찾았습니다. http://stackoverflow.com/questions/14077539/php-cant-add-content-text-book-example 그것이 작동하지 않는 이유는 delete에 대한 if/else 문이 다른 if 문 내에 중첩되어 있기 때문입니다 .작동하지 않을 경우 –