创建BBDD @variable表

时间:2017-01-05 14:08:40

标签: php mysql

我想在MYSQL中通过变量在BBDD中创建一个表。我遇到的问题是代码不起作用,我不确定原因。

$variable = "xxx_'".$_POST['idtour']."'_xxxx";

    // Create the table
        $sql = "CREATE TABLE $tourname (
                    id_leg VARCHAR(3) NOT NULL COMMENT 'Identificación de la leg del tour, en orden')";         
    //The action
    mysqli_query($link,$sql) or die("Error ".mysqli_error());

我认为" _"是一个问题。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

问题不在于_。这是'"xxx_'".$_POST['idtour']."'_xxxx"将导致xxx_'value'_xxxx作为可能的表名,'在表名中无效。如果你必须包含无效字符,那么你需要使用反引号操作符。

$tablename = "`xxx_'".$var."'_xxxx`";

这应该会让你更进一步实现目标。

旁注:根据用户提供的变量创建表是个坏主意。它可能会使用户能够创建一些奇怪且具有破坏性的行为,并且通常通过向现有表添加列来实现更好的效果。您是否尝试过添加列user_idtour