Php Can';不能从编码创建数据库,但可以从cpanel创建

Php Can';不能从编码创建数据库,但可以从cpanel创建,php,mysqli,cpanel,Php,Mysqli,Cpanel,数据库test\u new\u 1可以直接从cpanel为用户创建testcom,但不能通过php创建。另一台服务器工作正常,唯一的区别是该服务器中的用户名和数据库前缀相同 错误显示: Error creating database: Access denied for user 'testcom'@'localhost' to database 'test_new_1' PHP // Create connection $conn = mysqli_connect('localhost',

数据库test\u new\u 1可以直接从cpanel为用户创建testcom,但不能通过php创建。另一台服务器工作正常,唯一的区别是该服务器中的用户名和数据库前缀相同

错误显示:

Error creating database: Access denied for user 'testcom'@'localhost' to database 'test_new_1' 
PHP

// Create connection
$conn = mysqli_connect('localhost', 'testcom', '123456');
// Check connection
if (!$conn)
{
die("Connection failed: " . mysqli_connect_error());
}

// Create database
$sql = "CREATE DATABASE IF NOT EXISTS test_new_1";
if (mysqli_query($conn, $sql))
{
echo "Database created successfully";
}
else
{
echo "Error creating database: " . mysqli_error($conn);
}

cPanel不允许您使用MySQL函数直接从中创建数据库。您需要使用cPanel提供给您的API:

从下载
xmlapi.php
,然后使用它:

<?php
    include("xmlapi.php");

    $db_host = 'yourdomain.com'; 
    $cpaneluser = 'your cpanel username';
    $cpanelpass = 'your cpanel password'; 

    $databasename = 'testdb';
    $databaseuser = 'test'; // Warning: in most of cases this can't be longer than 8 characters
    $databasepass = 'dbpass'; // Warning: be sure the password is strong enough, else the CPanel will reject it

    $xmlapi = new xmlapi($db_host);    
    $xmlapi->password_auth("".$cpaneluser."","".$cpanelpass."");    
    $xmlapi->set_port(2082);
    $xmlapi->set_debug(1);//output actions in the error log 1 for true and 0 false  
    $xmlapi->set_output('array');//set this for browser output  
    //create database    
    $createdb = $xmlapi->api1_query($cpaneluser, "Mysql", "adddb", array($databasename));   
    //create user 
    $usr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduser", array($databaseuser, $databasepass));   
     //add user 
    $addusr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduserdb", array("".$cpaneluser."_".$databasename."", "".$cpaneluser."_".$databaseuser."", 'all'));
?>

在这种情况下,它也不允许从cpanel创建。但是这里可以创建从cpanel.grant访问用户testcomgeived access,然后所有其他项目数据库都显示在这个用户phpmyadmin中,我已经尝试了grant通配符,它没有执行显示错误。