php - 随机表名生成器

标签 php mysql

我正在尝试编写一个脚本,该脚本将随机生成一个“名称”,并使用分配的变量作为表名称。但是我无法创建表,我收到错误“表未创建:”。我在下面列出了我的代码。感谢你给与我的帮助。

    $con = mysqli_connect("localhost","placeholder","placeholder","placeholder");
    //or die ('unable to connect');

    // Check connection
    if (mysqli_connect_errno())
    {
     echo "Failed to connect to MySQL: " . mysqli_connect_error();
     }


    //create random database name

    $alpha = "abcdefghijklmnopqrstuvwxyz";
    $alpha_upper = strtoupper($alpha);
    $numeric = "0123456789";
    $special = ".-+=_,!@$#*%<>[]{}";
    $chars = "";

  if (isset($_POST['length'])){
// if you want a form like above
if (isset($_POST['alpha']) && $_POST['alpha'] == 'on')
    $chars .= $alpha;

if (isset($_POST['alpha_upper']) && $_POST['alpha_upper'] == 'on')
    $chars .= $alpha_upper;

if (isset($_POST['numeric']) && $_POST['numeric'] == 'on')
    $chars .= $numeric;

if (isset($_POST['special']) && $_POST['special'] == 'on')
    $chars .= $special;

$length = $_POST['length'];
}else{
// default [a-zA-Z0-9]{9}
$chars = $alpha . $numeric;
$length = 6;
}

$len = strlen($chars);
$pw = '';

 for ($i=0;$i<$length;$i++)
    $pw .= substr($chars, rand(0, $len-1), 1);

 // the finished table name
$pw = str_shuffle($pw);


//using the $pw variable for the table name

$sql="CREATE TABLE `' . $pw . '` (
PID INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(PID),
Name CHAR(15))";
 if (mysqli_query($con,$sql))
 {
 echo "table created successfully";
 }
 else
 {
 echo "table was not created:" . mysqli_error($sql);
 }



//TODO create XML file 



  mysqli_close($con);

最佳答案

$sql="CREATE TABLE `" . $pw . "` // you were using single quotes.. replace them with double
(
 PID INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(PID),
Name CHAR(15))";

现在就可以工作了..

关于php - 随机表名生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18390717/

相关文章:

PHPDoc 与 Laravel

php - 无法使用 Laravel 5 实时连接到 MySQL

php - 找不到列 : 1054 Unknown column '' in 'field list' error message while trying to update datas in database

php - Phalcon PhP - 如何使用参数在 Controller 内执行查询

php - Bootstrap 自动完成(提前输入)不起作用

php - Laravel 4 - artisan 错误 SQLSTATE [42000]

php - Node.JS 上的 WooCommerce WebHook 签名匹配问题

python - 使用 SQLAlchemy 查找周长内的经度和纬度

php - 值在数组中的准备语句

php - 简单地尝试更新 mysql 数据库中的项目