так что я имею этот код для гостевой книги:Удаление строки MYSQL с PHP
<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong>View Guestbook | <a href="gbook.php">Sign Guestbook</a> </strong></td>
</tr>
</table>
<br>
<?php
if(isset($_POST['login'])){
if(empty($_POST['username']))
{
$this->HandleError("UserName is empty!");
return false;
}
if(empty($_POST['password']))
{
$this->HandleError("Password is empty!");
return false;
}
if ($_POST['username'] == "admin" && $_POST['password'] == "pietje"){
echo 'Welkom';
$loggedIn = true;
echo '<img width="500" height="375" src="http://vignette4.wikia.nocookie.net/southpark/images/9/9e/Party.gif/revision/latest?cb=20140712092024">';
} else {
echo 'Incorrect user or pass';
echo '<img width="500" height="375" src="https://media.giphy.com/media/B1TMcmoBAaSZi/giphy.gif">';
}
$username = trim($_POST['username']);
$password = trim($_POST['password']);
}
?>
<form id='login' method='post' accept-charset='UTF-8'>
<fieldset >
<legend>Login</legend>
<input type='hidden' name='submitted' id='submitted' value='1'/>
<label for='username' >UserName*:</label>
<input type='text' name='username' id='username' maxlength="50" />
<label for='password' >Password*:</label>
<input type='password' name='password' id='password' maxlength="50" />
<input type='submit' name='login' value='login' />
</fieldset>
</form>
<?php
$host="mysql17.000webhost.com"; // Host name
$username="a1126203_stan"; // Mysql username
$password=""; // Mysql password
$db_name="a1126203_gb"; // Database name
$tbl_name="guestbook"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
while($rows=mysql_fetch_array($result)){
?>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td><table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td>ID</td>
<td>:</td>
<td><? echo $rows['id']; ?></td>
</tr>
<tr>
<td width="117">Name</td>
<td width="14">:</td>
<td width="357"><? echo $rows['name']; ?></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><? echo $rows['email']; ?></td>
</tr>
<tr>
<td valign="top">Comment</td>
<td valign="top">:</td>
<td><? echo $rows['comment']; ?></td>
</tr>
<tr>
<td valign="top">Date/Time </td>
<td valign="top">:</td>
<td><? echo $rows['datetime']; ?></td>
</tr>
</table></td>
</tr>
<?php
$id = $rows['id'];
echo $id;
if($loggedIn){
echo '<tr>
<td width="100"> </td>
<td>
<input name="delete'.$id.'" type="submit" id="delete" value="Delete">
</td>
</tr>';
}
if(isset($_POST['delete'.$id]))
{
$conn = mysql_connect($host, $username, $password);
$sql="DELETE FROM guestbook WHERE id='".$id."'";
mysql_select_db('a1126203_gb');
$retval = mysql_query($sql, $conn);
if(! $retval)
{
die('Could not delete data: ' . mysql_error());
}
echo "Deleted data successfully\n";
mysql_close($conn);
}
?>
</table>
<?php
if($loggedIn){
}
}
mysql_close(); //close database
?>
Iknow это некрасиво написано, но это действительно не имеет значения атм, творю кнопку удаления для каждой новой строки, но Я хочу удалить строку, которая имеет тот же идентификатор, что и кнопка удаления. Но для некоторых (вероятно, очевидных) причин это не сработает.
** СТОП ** используя устаревшую 'myql_ *' API. вместо этого используйте 'mysqli_ *' или PDO с подготовленным оператором. Проверьте наличие ошибок после вызова команды sql. – Jens
Я не вижу, как это имеет отношение к моему вопросу –
@StanVanDerBend Несмотря на то, что это не имеет отношения к вашему вопросу, но не рекомендуется использовать амортизированные функции, потому что вы не можете получить какую-либо помощь в будущем, и PDO поможет вы предотвратите инъекции SQL и другие уязвимости –