在PHP中删除数据库表会发出奇怪的错误

时间:2014-02-10 13:51:11

标签: php mysql

我正在试图弄清楚如何在PHP中删除MySQL数据库表。我该怎么办呢?我尝试过以下代码:

$con = mysqli_connect($database_credentials['serv'], $database_credentials['user'], $database_credentials['pass'], $database_credentials['name']);

mysql_query($con, "DROP TABLE carts");

返回:

Warning: mysql_query() expects parameter 1 to be string, object given in /setup_tables.php on line 2

但我无法理解,为什么会期待一个字符串。我尝试将其更改为:

mysql_query("DROP TABLE carts", $con);

但是这必须在语法上不正确,因为它会吐出资源错误。我应该怎么做呢?

附录:如果表格有所不同,则会填充表格。

2 个答案:

答案 0 :(得分:5)

你正在混合mysqli_ *和mysql_ 。您的连接是MySQLi的对象,但您的查询是mysql _

您可以做的最快的解决方法是更改​​:

mysql_query($con, "DROP TABLE carts");

mysqli_query($con, "DROP TABLE carts");

http://php.net/mysqli_connect

答案 1 :(得分:1)

首先,我需要建议您使用mysqli代替mysql,因为它已被弃用,

其次,您交换了查询和资源参数,这将起作用

mysql_query("DROP TABLE carts", $con);

或(如果你使用mysqli)

mysqli_query($con, "DROP TABLE carts");