我正在使用一种函数,我在其中为变量赋值tablename
,如:
function mshirt(){
var tbname='m_shirts';
}
然后在PHP表单操作部分:
include 'database_connection.php';
$tablename=tbname;
if(isset($_POST['submit'])){
$Size=$_POST['size'];
$Color=$_POST['color'];
$Code=$_POST['code'];
$Brand=$_POST['brand'];
$sql="INSERT INTO `$tablename` (size,color,code,brand) VALUES('$Size','$Color','$Code','$Brand')";
if(mysqli_query($conn,$sql)){
echo("Added Succesfully");
}
else
echo("Failed to Add");
问题在于它假定tbname
未定义为常量。
答案 0 :(得分:0)
<强>问题强>
错误是由于行:
$tablename=tbname;
tbname
是一个JS(客户端)变量:你不能简单地将它输入PHP(服务器端)并期望它能够工作。您需要将其作为POST
数据发送给PHP,就像您将其他数据一样。
<强>解强>
如果您是通过AJAX和jQuery执行此操作,例如:
var tbname = 'm_shirts';
$.ajax({
url: "path_to_php_file.php",
method: "post",
data: {
tbname: tbname,
// the rest of form data (the request) to be sent
}
});
在PHP中,您可以将其作为常规$_POST
变量索引:
$tbname = $_POST["tbname"];
(如果您使用常规表单或其他方法发送数据,则需要修改此...这只是演示的示例。)
答案 1 :(得分:-1)
您正试图混合语言......
您应该通过ajax或表单发送表的名称,然后使用$ _GET或$ POST
来捕获您的值