php变量没有被值替换

时间:2017-07-13 05:31:52

标签: php mysql pdo

我有一个问题。我将数据从javascript发送到PHP。在PHP中,值被提取到变量中。必须在create语句中替换此值。它没有被取代。在回显时正在读取php变量。为什么它没有传递给create语句?相关的代码片段如下:

AJAX电话:

$.ajax({
    type: "POST",
    url: "createTableInDB.php",
    data: 'pTblName=' + filename,
    success: function(msg){
        alert(msg);
    }
});

当我签入PHP时,文件名被正确地带入变量。

PHP代码:

$username="root";
$pass="";

try {
    $db_conn = new PDO("mysql:host=localhost;dbname=test", $username, $pass);
    // set the PDO error mode to exception
    $db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db_conn->setAttribute(PDO::ATTR_EMULATE_PREPARES , false);

    $tblName = stripcslashes($_POST['pTblName']);

    $sql = "CREATE table If Not Exists $tblName (
            Sl_No varchar(4) Primary Key,
            E_Name varchar(100) not null,
            EXP varchar(10) not null);";

    $db_conn->exec($sql);

    echo("Created Table");


    }
catch(PDOException $e)
{
    echo "Connection failed: " . $e->getMessage();
}

任何人都可以指导我错在哪里吗?我没有收到任何错误消息。页面只是重新加载,一切都重置。

使用ajax调用函数的函数:     function extractName(){         fullPath = document.getElementById(' testInputFile')。value;

    if (fullPath) {
        var startIndex = (fullPath.indexOf('\\') >= 0 ? fullPath.lastIndexOf('\\') : fullPath.lastIndexOf('/'));
        filename = fullPath.substring(startIndex);
        if (filename.indexOf('\\') === 0 || filename.indexOf('/') === 0) {
            // filename = filename.substring(1);
            filename = filename.substring(1, filename.lastIndexOf('.'));
        }

        //console.log(filename);
        createTableInDB(filename);
    //  Excel = readExcelFile(fullpath);
    }
   }

在html表单的提交按钮中调用此函数

2 个答案:

答案 0 :(得分:1)

试试这个:

constexpr

你的php cod编辑这一行:

constexpr

答案 1 :(得分:0)

问题得到解决。在PHP代码中,我刚刚添加了以下行:

$sql="use test";
$db_conn->exec($sql);

我在create语句之前添加了它,它正在工作。

非常感谢每个人的帮助和指导。