1

私はPHPに少し慣れていませんが、現在それに基づいたコースを行っています。

メールリストから削除するために、ユーザーがメールアドレスを入力するフォームがあります。

if else彼らの電子メールがデータベースにない場合、「リストに存在しません」というエラーが発生するという声明を出そうとしています。

おそらくご覧のとおり、スクリプトは機能しません。

クエリが成功したかどうかを確認し、適切なメッセージをユーザーに返すにはどうすればよいですか?

    $email = $_POST['email'];

    $dbc = mysqli_connect(censored)
            or die('error connecting to the database');
    $query = "DELETE FROM email_list WHERE email='$email'";
    $result = mysqli_query($dbc, $query)
            or die('Error Querying the database');

    if ($result == 0) {

        echo $email . ' do not exist in the list';
    }
    else {
        echo $email . ' is deleted form the list';
    }

    mysqli_close($dbc);
4

2 に答える 2

3

mysqli_affected_rows()

<?php
$email = $_POST['email'];

$dbc = mysqli_connect(censored)
        or die('error connecting to the database');
$query = "DELETE FROM email_list WHERE email='$email'";
$result = mysqli_query($dbc, $query)
        or die('Error Querying the database');

if (mysqli_affected_rows($dbc) === 0) {

    echo $email . ' do not exist in the list';
}
else {
    echo $email . ' is deleted form the list';
}

mysqli_close($dbc);
?>
于 2012-11-30T12:27:53.283 に答える
0

HTML コード

<html>
<form method="post" action="somepage">
<input type="text" name="email" />
<br/>
<input type="Submit" name="submit" value="Delete" />
</form>
</html>

Phpコード

<?php
// on submit button 
if (isset($_POST["submit"]))
{
$dbhost = 'localhost';
$dbuser = 'databaseuser';
$dbpass = 'databasepassword';
$dbname = 'databasename';
//connection to mysql
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
{
die('Could not connect: ' . mysql_error());
}
//use database
$usedb = mysql_select_db($dbname , $conn);
if (!$usedb)
{
die ("could not select $dbname...<br/>");
}
//to delete record
$del="DELETE FROM tablename WHERE columnName = '$email'";
if(mysql_query($del))
{
echo '<script type="text/javascript">alert("Record Deleted Successfully....!")</script>';
}
else
{
echo mysql_error();
}
}
?>

これがお役に立てば幸いです。

于 2012-11-30T12:37:00.120 に答える