删除语句 php MySQL
DELETE statement php MySQL
我的代码需要一些帮助,当我点击提交代码时,它总是显示 "User successfully kicked"。但是,查询没有执行成功,用户还在数据库中。
编辑:修复了 mysql/msqli 问题。查询现在回答 "Something went wrong" 而不是 "User successfully kicked"。但是我不会从 mysql_error 报告中得到任何错误。我能做什么?
include 'connect.php';
if(empty($_POST['user_id']))
{
echo '<form method="post" action="">
User_id: <input type="text" name="user_id" />
<input type="submit" value="Kick user" />
</form>';
}
else
{
$sql = "DELETE FROM users
WHERE
user_id = '" .mysqli_real_escape_string($_POST['user_id']) . "'
";
$result = mysqli_query($con, $sql);
if($result)
{
//something went wrong, display the error
echo 'Something went wrong!.';
echo mysqli_error(); //debugging purposes, uncomment when needed
}
else
{
echo 'User successfully kicked!';
}
}
我的 connect.php 看起来像这样:
<?php
$con=mysqli_connect ("localhost","root","","dps");
if (mysqli_connect_errno()) {
echo "failed to connect mysql: ". mysqli_connect_error();
}
?>
添加:
$result = mysqli_query($con, $sql);
之后:
$sql = "DELETE FROM
users
WHERE
user_id = '" . mysql_real_escape_string($_POST['user_id']) . "'
";
您正在 if
部分设置 $sql
变量,并尝试在 else
部分访问它。这是行不通的。
此外,您正在混合不好的库(mysql 与 mysqli 不同,请使用 mysqli 因为 mysql 已弃用并将被删除来自 php)
include 'connect.php';
if(empty($_POST['user_id']))
{
echo '<form method="post" action="">
User_id: <input type="text" name="user_id" />
<input type="submit" value="Kick user" />
</form>';
}
else
{
$sql = "DELETE FROM users
WHERE
user_id = '" .mysqli_real_escape_string($con, $_POST['user_id']) . "'
";
$result = mysqli_query($con, $sql);
if(!$result)
{
//something went wrong, display the error
echo 'Something went wrong!: ';
echo mysqli_error($con) //debugging purposes, uncomment when needed
}
else
{
echo 'User succesfully kicked!';
mysqli_free_result($result);
}
}
您可能需要更改 connect.php 才能使用 mysqli
编辑:现在应该修复一些错误
我的代码需要一些帮助,当我点击提交代码时,它总是显示 "User successfully kicked"。但是,查询没有执行成功,用户还在数据库中。
编辑:修复了 mysql/msqli 问题。查询现在回答 "Something went wrong" 而不是 "User successfully kicked"。但是我不会从 mysql_error 报告中得到任何错误。我能做什么?
include 'connect.php';
if(empty($_POST['user_id']))
{
echo '<form method="post" action="">
User_id: <input type="text" name="user_id" />
<input type="submit" value="Kick user" />
</form>';
}
else
{
$sql = "DELETE FROM users
WHERE
user_id = '" .mysqli_real_escape_string($_POST['user_id']) . "'
";
$result = mysqli_query($con, $sql);
if($result)
{
//something went wrong, display the error
echo 'Something went wrong!.';
echo mysqli_error(); //debugging purposes, uncomment when needed
}
else
{
echo 'User successfully kicked!';
}
}
我的 connect.php 看起来像这样:
<?php
$con=mysqli_connect ("localhost","root","","dps");
if (mysqli_connect_errno()) {
echo "failed to connect mysql: ". mysqli_connect_error();
}
?>
添加:
$result = mysqli_query($con, $sql);
之后:
$sql = "DELETE FROM
users
WHERE
user_id = '" . mysql_real_escape_string($_POST['user_id']) . "'
";
您正在 if
部分设置 $sql
变量,并尝试在 else
部分访问它。这是行不通的。
此外,您正在混合不好的库(mysql 与 mysqli 不同,请使用 mysqli 因为 mysql 已弃用并将被删除来自 php)
include 'connect.php';
if(empty($_POST['user_id']))
{
echo '<form method="post" action="">
User_id: <input type="text" name="user_id" />
<input type="submit" value="Kick user" />
</form>';
}
else
{
$sql = "DELETE FROM users
WHERE
user_id = '" .mysqli_real_escape_string($con, $_POST['user_id']) . "'
";
$result = mysqli_query($con, $sql);
if(!$result)
{
//something went wrong, display the error
echo 'Something went wrong!: ';
echo mysqli_error($con) //debugging purposes, uncomment when needed
}
else
{
echo 'User succesfully kicked!';
mysqli_free_result($result);
}
}
您可能需要更改 connect.php 才能使用 mysqli
编辑:现在应该修复一些错误