【问题标题】:MySqli: is it possible to create a database? [closed]MySqli:可以创建数据库吗? [关闭]
【发布时间】:2013-05-06 16:53:53
【问题描述】:

我一直在筛选 MySQLi 文档,据我所知,我无法使用 PHP 和 MySQLi 创建数据库。这是正确的吗?

【问题讨论】:

  • mysqli_query 怎么样....
  • $db->query("CREATE DATABASE x");。这甚至不是一个真正的问题。
  • MySQLi 是一组 PHP 函数。使用 mysql 语言编写的查询来创建您的数据库...
  • 谢谢。我的印象是 mysqli::query 是在建立数据库连接之后进行查询(与服务器连接相反,其中连接减去数据库名称。
  • 我还要在这里指出,有几个人降级了我的问题,而事实上我确实浏览了整个 MySQLi PHP 手册,并且没有一个创建数据库示例,这让我相信mysqli::query 仅在选择数据库后使用。部分问题是我的 MySQL 凭据不正确,因此我创建数据库的尝试没有成功。

标签: php mysql mysqli


【解决方案1】:

CREATE DATABASE 语句用于在 MySQL 中创建数据库。

  • 语法:
CREATE DATABASE database_name 

要让 PHP 执行 SQL 指令,首先你必须创建一个 mysqli 对象 连接到服务器,然后使用 MySQLi 类的 query() 方法。

  • 语法:
mysqliObj->query($sql_query)
  • mysqliObj - 是用 new mysqli() 创建的 mysqli 对象
  • $sql_query - 是一个带有 SQL 指令的字符串。此方法向 MySQL 连接发送查询或命令,将返回结果对象,成功时返回 TRUE。失败时为 FALSE。

以下示例创建一个名为“tests”的数据库:

<?php
// connect to the MySQL server
$conn = new mysqli('localhost', 'root', 'pass');

// check connection
if (mysqli_connect_errno()) {
  exit('Connect failed: '. mysqli_connect_error());
}

// sql query with CREATE DATABASE
$sql = "CREATE DATABASE `tests` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";

// Performs the $sql query on the server to create the database
if ($conn->query($sql) === TRUE) {
  echo 'Database "tests" successfully created';
}
else {
 echo 'Error: '. $conn->error;
}

$conn->close();
?>

查看此链接http://coursesweb.net/php-mysql/php-mysql-using-mysqli

【讨论】:

  • 我收到错误 创建数据库时出错:用户 '...'@'localhost' 拒绝访问真实服务器上的数据库 '...' 而它在 wamp 服务器上工作。有什么建议吗??
【解决方案2】:

如果您有权限,您可以使用mysqli_query 执行CREATE DATABASE 语句。

【讨论】:

    【解决方案3】:

    您可以创建一个数据库。这是一个例子

    <?php
    $con=mysqli_connect("example.com","peter","abc123");
    // Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
    
    // Create database
    $sql="CREATE DATABASE my_db";
    if (mysqli_query($con,$sql))
      {
      echo "Database my_db created successfully";
      }
    else
      {
      echo "Error creating database: " . mysqli_error($con);
      }
    ?> 
    

    在这里找到http://www.w3schools.com/php/php_mysql_create.asp

    【讨论】:

    • w3schools 不是学习很多东西的地方。只有当您已经了解材料并且只需要复习时,它才是体面的。 PHP 或 MySQL 手册会是更好的资源。
    • 代码正确并回答了问题。就我个人而言,我发现 w3schools 是一个非常好的网站,几乎可以学习任何东西
    • “正确”有点夸大其词。通常建议使用 OO 接口。
    • 那么问题是“如果没有办法使用 PHP 和 MySQLi 创建数据库” 不是最好的建议。再次,编程中的“最佳推荐”非常模糊,取决于为什么推荐某些代码以及为什么不推荐其他代码的各种原因。
    猜你喜欢
    • 2018-11-05
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多