Mysql 创建数据库失败(有点)


Mysql create database failed (kind of)

CREATE DATABASE 'some database name' ;

使用 mysql 的客户端按预期工作。

来自php/mysqli的相同查询(不同的数据库名称) - 失败了。它写入INFORMATION_SCHEMA。图式但是无法写入 mysql.db 表?

这实际上是一个更大的问题。

这是怎么回事。 为什么我的 mysqli 失败了?

法典:

$mysqli = new mysqli("p:127.0.0.1", "root", "showtech123", "mysql");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if(!$mysqli->query( "CREATE DATABASE $database_name;"))
    {echo "DATABASE encountered error:" . $mysqli->error . "<br /";}

错误:

db_name: terarydatabase3333, un:teraryuser5999
Warning: mysqli::query(): MySQL server has gone away in /www/admin.showtechllc.com/public_html/adddb.php on line 21
Warning: mysqli::query(): Error reading result set's header in /www/admin.showtechllc.com/public_html/adddb.php on line 21
USER encountered error:MySQL server has gone away

构造函数中的第四个参数是要使用的数据库。

您实际上是在尝试在现有数据库中创建新数据库。

试试这个:

$mysqli = new mysqli("p:127.0.0.1", "root", "showtech123");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}else{
    echo "connected";
}
if(!$mysqli->query( "CREATE DATABASE $database_name;")){
   echo "DATABASE encountered error:" . $mysqli->error . "<br /";
}else{
     echo $database_name . "created";
}