0

我有这个代码来创建一个基于随机数的数据库。

<?php
  $con = mysql_connect("localhost","soociali","[censored]");
  $databasename = rand(5, 7);

  if (!$con)
    {
    die('Could not connect: ' . mysql_error());
    }

  if (mysql_query("CREATE DATABASE $databasename",$con))
    {
    echo "Database created, called $databasename";
    }
  else
    {
    echo "Error creating database: " . mysql_error();
    }

  mysql_close($con);
?>

但是,我收到此错误:Error creating database: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '6' at line 1

4

2 回答 2

2

将您的数据库名称包含在 ` 标记中:

if (mysql_query("CREATE DATABASE `$databasename`",$con))

该查询"CREATE DATABASE 6;"使 MySQL 感到困惑,因为它需要一个字母数字数据库名称,而不是看起来像一个直整数的名称。

于 2013-01-30T16:45:21.567 回答
1

您的数据库名称将被解析为一个数字。只需像这样放置反引号:

mysql_query("CREATE DATABASE `$databasename`",$con)
于 2013-01-30T16:46:59.207 回答