无法使用PHP在以下代码中创建数据库

时间:2014-07-17 05:50:54

标签: php mysql mysqli

我认为以下代码是正确的,并且连接也没问题,但它无法创建db。以下与创建db相关的代码有什么问题吗?

$con = mysql_connect("localhost","root","mypass");
if($con) {
    echo "Connection Accomplished";
}
else {
    echo "Fail to connect" . mysqli_error($con);
}

$sql1 = "CREATED DATABASE jokedb";

$create = mysqli_query($con, $sql1);

if ($create) {
    echo "DB is Created";
}
else {
    echo "Fail to connect DB";
}

4 个答案:

答案 0 :(得分:1)

存在语法错误。 KeywordCreate而不是Created

$sql1 = "CREATE DATABASE jokedb";

答案 1 :(得分:1)

我看到两个问题:

  • 其他答案未能发现的第一个问题是,您已使用mysql_connect,然后使用mysqli_方法。您不能同时使用两者 - 使用mysqli_connect
  • 您已经拼错了CREATE(添加了D)。

答案 2 :(得分:0)

在这种情况下,错误可能与关键字“create”有关,您还需要验证数据库用户是否具有执行create database语句的权限。我认为以下代码更符合逻辑

$con = mysql_connect("localhost","root","mypass");
if($con) {
    $sql1 = "CREATE DATABASE jokedb";
    $create = mysql_query($con, $sql1);
if ($create) {
    echo "DB is Created";
}
else {
   echo "Database creation fail";
}    
}
else {
    echo "Fail to connect" . mysql_error($con);
}

答案 3 :(得分:0)

$sql1 = "CREATED DATABASE jokedb";

应该是

$sql1 = "CREATE DATABASE jokedb";

我认为不允许使用mysql和mysqli编写代码。 此外,当您使用字符串时,请使用单引号而不是双引号“。 当你在字符串中使用变量时,你应该使用双引号。 喜欢这个

$world = 'world';
$test = "Hello $world";

您也可以使用单引号,但是您应该像这样编写代码

$world = 'world';
$test = 'Hello '.$world;

我的最后一个提示。 你应该检查你的if语句。

if($con === TRUE) {
    ...

字符串链接:http://php.net/manual/en/language.types.string.php

if语句的链接:PHP IF statement for Boolean values: $var === true vs $var