我有一个sql字符串,我想将表单中的值回显到字符串中以删除表。目前,我正在使用以下字符串
$sql4 = "DROP TABLE gs.gs_object_data_<? echo $rows['$imei']; ?>";
这与我在上一页从$ _POST提取的IMEI无关。
我也尝试了以下字符串无济于事。
$sql4 = "DROP TABLE gs.gs_object_data_'%$imei%'";
$sql4 = "DROP TABLE gs.gs_object_data_'".$imei."'";
gs_object_data在所有表中都是常量,只是imei有所不同
我需要一个结果,例如gs_object_data_111111,上一页的imei将为111111
任何建议将不胜感激。
答案 0 :(得分:0)
这将起作用:
$sql4 = "DROP TABLE gs.gs_object_data_{$rows['imei']};";
答案 1 :(得分:0)
您似乎要使用POST请求变量-是吗?您可能会发现sprintf
在创建这样的字符串时很有用-您在一个简单的字符串中提供占位符,然后在以后为它们分配一个变量〜可以避免出现通常用引号引起来的问题。
以下测试POST变量imei
是否可用并创建sql(如果存在)-否则将$ sql变量设置为false(false可在以后的逻辑测试中使用)
$sql = !empty( $_POST['imei'] ) ? sprintf( 'drop table `gs`.`gs_object_data_%s`;', $_POST['imei'] ) : false;
if( $sql ){
/* do something with sql */
}
答案 2 :(得分:0)
我发现以下代码有效
$sql4 = "DROP TABLE gs.gs_object_data_$imei";
imei已在上一页的POST中设置为变量