В этой функции create
, я пытаюсь создать базу данных. Однако он не создает и не отображает ошибку Error creating database: Access denied.
Итак, это означает, что есть соединение, и оно проходит мимо первой проверки. Затем, когда вызывается mysql_query
, он не возвращает true. Может ли кто-нибудь помочь?Как создать базу данных с помощью PHP и MySQL?
function create($dbName, $tbName, $fields, $types_sizes, $PK)
{
$sql = null;
$con = mysql_connect("borg.cs.up.ac.za","username", "password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
else
{
if(mysql_query("CREATE DATABASE". $dbName, $con))
{
echo "Database created";
$dbExists = 1;
}
else
{
echo "Error creating database: " . mysql_error();
$dbExists = 0;
}
$i = 0;
if(($con)&&($bdExists = 1))
{
$sql . "CREATE TABLE " . $tbName . "(";
while($i < count($fields))
{
$sql . $fields[$i] . " " + $types_sizes[$i] . ",";
$i++;
}
if($PK != null)
{
$sql . "PRIMARY KEY (" . $PK .")";
}
}
mysql_query($sql,$con);
mysql_close($con);
}
}
Вы, вероятно, не имеете необходимые права для создания баз данных по учетной записи подключения к серверу. –
Также вы можете установить префикс ($ dbName _. 'Tablename') для имени для отдельных таблиц. – Sergey
Создайте базу данных с помощью PhpMyAdmin или MySQL Workbench, а затем просто создайте таблицы с помощью кода. Кажется, у вас нет необходимых прав для создания базы данных. – Omtara