我确实有编程经验,但是对于PHP来说是新的。我遇到了一个我从本教程中学习的例子。我仔细观察了它数百万次,搜索了一下,等等。我不知道为什么我的代码不工作。从MySQL删除PHP的问题
其目的是基本上只是测试从sql中插入和删除sql,使用添加记录和删除记录按钮。 “添加记录”按钮可以很好地工作,但删除不会重新加载页面。继承人的代码...
<?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循环是否使这个按钮不起作用?请注意,你会看到回声“工作!!!”;并在其他回声“noooooooo”;这是我测试按钮是否正在测试,但没有打印。所以,也许我错过了按钮代码本身的东西?此外,没有打印错误,并且我的编辑(和我自己)错过了语法错误(如果是这种情况)。
在关闭数据库之前,删除按钮的代码在最后。
感谢您的帮助提前。
在'$ _POST'上做一个'var_dump()'并确保你得到了你期望的值 –
@JohnConde嘿刚刚注意到了这一点。对不起,在这里做你的小菜,但我怎么去做呢?新来这个=( 谢谢你的输入! – TheNoob
找到了这个代码在这里看看的答案:http://stackoverflow.com/questions/14077539/php-cant-add-content-text-book-example 它不起作用的原因是因为删除的if/else语句嵌套在另一个if语句中 如果你对它的工作不感兴趣 – 2013-01-29 21:47:52