我有一个问题。我将数据从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表单的提交按钮中调用此函数
答案 0 :(得分:1)
试试这个:
constexpr
你的php cod编辑这一行:
constexpr
答案 1 :(得分:0)
问题得到解决。在PHP代码中,我刚刚添加了以下行:
$sql="use test";
$db_conn->exec($sql);
我在create语句之前添加了它,它正在工作。
非常感谢每个人的帮助和指导。