php - mysql 创建动态表

标签 php mysql

我正在尝试动态创建一个表,我面临的唯一问题是动态创建列。我的意思是,我不会有固定数量的列,所以我尝试将其表示为变量,但是当我运行代码时,它给了我一个错误。以下是我尝试过的。

错误

You have an error in your SQL syntax; check the manual that corresponds to your...


$colArray = array();
foreach($ml as $df){
$colArray[] =  "`".$df."` VARCHAR(250) NOT NULL,<br/>";
}

$columns = implode("",$colArray);

$sql = "CREATE TABLE IF NOT EXISTS {$table_name}(
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(250) NOT NULL,
{$columns}
date VARCHAR(250) NOT NULL,
PRIMARY KEY (id)
            )";
 $stmt = $db->prepare($sql);
 echo $db->error;
 $stmt->execute();

最佳答案

这本质上应该是有效的:

$colArray = array();
// Since you want these two columns in order
// assign here
$colArray[] =  "id INT NOT NULL AUTO_INCREMENT";
$colArray[] =  "username VARCHAR(250) NOT NULL";

foreach($ml as $df) {
    $colArray[] =  "`".$df."` VARCHAR(250) NOT NULL";
}

// Since you want column last, assign here
$colArray[] =  "date VARCHAR(250) NOT NULL";

$columns = implode(",\r\n",$colArray);

$sql = "CREATE TABLE IF NOT EXISTS {$table_name}(
{$columns},
PRIMARY KEY (id))";
 $stmt = $db->prepare($sql);
 echo $db->error;
 $stmt->execute();

关于php - mysql 创建动态表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26558636/

相关文章:

php - 首次访问页面时,Drupal 生成的 HTML 上方出现神秘数字

php - 在放入数据库之前在php中设置日期

python - MySql 到 Python 模型创建工具

PHP, MySQL - 在字段中找到特定部分并将其删除

mysql - 如何仅在 SQL Server 中第三喜欢位置赔率在 5 到 6 美元之间时显示第一喜欢位置

php - 从 Woocommerce 3 中的隐藏输入字段自定义价格设置购物车项目价格

php - 如何插入或更新多行 - PDO

php - HTML 和 PHP 在一个文件中

javascript - 将不属于表单一部分的 HTML 页面的值传递给 PHP 页面

PHP SQL语句转义