【问题标题】:Error when deleting row删除行时出错
【发布时间】:2017-09-07 07:11:42
【问题描述】:

我想创建一个 php 脚本来从我的 mysql 数据库中删除某行,但它显示了

删除记录时出错:表“test.school”不存在。

 <?php
    $servername="localhost";
    $username="root";
    $password="";
    $dbname="test";
    $conn= new mysqli($servername,$username,$password,$dbname);

    if($conn->connect_error)
    {
     die("connection failed:".$conn->connect_error);
    }
     $sql="DELETE from school where rno='5'";
     if($conn->query($sql)===TRUE)
    {
     echo "Record deleted successfully";
    }
     else
    {
     echo "error deleting record:".$conn->error;
    }
     $conn->close();
    ?>

【问题讨论】:

  • 错误很明显。您的数据库test 中没有表school
  • 其实我的数据库'test'中确实有一个表'school'
  • 您是否连接到正确的数据库然后@Khushboosharma?您是否将数据库托管在 2 个地方 - 并且您连接到具有表的服务器和您的 PHP 脚本正在查看另一台服务器。
  • @Khushboosharma MySQL 不同意。如果不是失败的实际原因,它不会抛出这样的错误..

标签: php html mysql mysqli


【解决方案1】:
if($conn->connect_error)
{
die("connection failed:".$conn->connect_error);
}
$sql="DELETE from school where rno='5'";
$query = mysqli_query($conn, $sql);
if($query)
{
    echo"Deleted Successfully..";
}
else 
{
echo"Failed..";
}

试试这个,也许这个对你有用。

【讨论】:

  • 为什么有人要“试试这个”?你改变了什么?为什么会这样?仅仅因为您使用程序而不是 OOP?总是解释你的答案,不要只是转储代码。
  • 原来它确实有效!如您所见,此答案已被接受。但我会记住这一点,从下一次开始。干杯!
  • 你仍然应该编辑你的答案并解释为什么这行得通,所以它对其他读者更有用:-)
【解决方案2】:

尝试直接从您的 SQL 客户端(PhpMyAdmin、Workbench 或类似的东西)运行查询,如果可行,则说明您的连接有问题。

这曾经发生在我身上一次,我所做的只是导出数据库/表然后从我的客户端删除它,然后重新添加数据库/表。它通常会自行解决(可能表没有正确保存到数据库中或其他什么)。

检查该表是否已被客户端“重命名”,例如可能在表名的开头添加了一个额外的空格或类似的东西。

【讨论】:

    猜你喜欢
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多