假设我有一个字符串:
cat,mouse,dog,horse
Run Code Online (Sandbox Code Playgroud)
是否有正则表达式或函数可以如下工作?
1)"cat" return string ->"mouse,dog,horse"
2)"mouse" return string ->"cat,dog,horse"
3)"dog" return string ->"cat,mouse,horse"
4)"horse" return string ->"cat,mouse,dog"
Run Code Online (Sandbox Code Playgroud)
我需要从字符串中删除所选项并返回字符串的其余部分.
如果字符串要满足以下条件,那么JavaScript和PHP regex模式是什么:
可以使用以下字符串格式:
randyrandy3939randyr789456123以下是不可接受的:
ran3546r_andy__3912好吧,这让我发疯了.我的PHP版本是5.2.17,MySQL版本是5.1.59
我的javascript(jquery)是:
$(document).ready(function(){$.post("file.php",{"dropTable":tableName}, function(data){});});
Run Code Online (Sandbox Code Playgroud)
这是页面加载时的ajax调用
我的"file.php"包含以下代码:
<?php
require_once"getDBParameters.php";
$dbParameters = getDBParameters();
if($dbc = mysqli_connect($dbParameters['db_host'], $dbParameters['db_username'], $dbParameters['db_pass'], $dbParameters['db_name'])){
if(isset($_POST['dropTable'])){
$dropTable= $_POST['dropTable'] ;
$escapedRealString = mysql_real_escape_string($dropTable, $dbc );
echo ($escapedRealString );
exit();
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我得到一个PHP错误说:
mysql_real_escape_string() expects parameter 2 to be resource, object given in file.php on line 9
Run Code Online (Sandbox Code Playgroud)
如果我使用预准备语句,相同的连接可以正常工作,但是,在这种情况下我不能使用预准备语句,因为我正在根据用户输入删除MYSQL表:
DROP TABLE $dropTable
Run Code Online (Sandbox Code Playgroud)
PHP手册说我不能使用如下的预处理语句:
prepare("DROP TABLE ?")
Run Code Online (Sandbox Code Playgroud)
我可以向你保证,函数"getDBParameters"工作正常.有什么问题 ?还有其他方法吗?