如何从我的PHP代码中删除这个与数据库相关的错误?

时间:2014-02-08 14:41:10

标签: php database

在尝试使用PHP创建数据库时,我在脚本中遇到了许多错误。这是我现在的代码:

$con = mysqli_connect("localhost","jharvard","crimson");

// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// Create database
$sql = "CREATE DATABASE my_db";

$db = mysql_select_db("my_db", $con);


if (mysqli_query($con,$sql))
{
    echo "Database my_db created successfully";
}
else
{
    echo "Error creating database: " . mysqli_error($con);
}

但是当我试图运行网站时,我收到了警告和错误(可能是相关的):

  1. 警告:mysql_select_db()期望参数2是资源,第18行/home/jharvard/vhosts/pset7/public/history.php中给出的对象
  2. 错误:创建数据库时出错:无法创建数据库'my_db';数据库existsError创建表:未选择数据库
  3. 我的问题是:我的代码出了什么问题?我已经尝试通过在Stackoverflow上查看相关问题多次删除警告和错误(例如,请参阅this问题),但我无法修复我的代码。请你帮助我好吗?

3 个答案:

答案 0 :(得分:1)

您正在使用mysqli_connect()并在mysql_select_db

中使用此内容
$db = mysql_select_db("my_db", $con);

应该是

$db = mysqli_select_db($con,"my_db");

点击http://in1.php.net/mysqli_select_db

答案 1 :(得分:1)

mysql_select_db是一个不推荐使用的PHP函数,是PHP MYSQL Functions集的一部分。但您使用的是mysqli(请注意)。

由于您使用mysqli_connect,然后,您应该使用mysqli_select_db而不是mysql_select_db mysql_select_db期望的“资源参数”来自对mysql_connect的调用(您不使用)。

答案 2 :(得分:1)

使用此:

$db = mysqli_select_db("my_db", $con);

你正在混合mysql和mysqli