Php mysqli_real_escape_字符串不';t使用list()和explode()函数
我使用这行代码:Php mysqli_real_escape_字符串不';t使用list()和explode()函数,php,mysql,list,explode,Php,Mysql,List,Explode,我使用这行代码: list($variable1, $variable2) = explode("|", $_POST['something']); 然后,当我将这两个变量放入mysqli_real_escape_字符串中时: $variable1 = mysqli_real_escape_string($connection, $variable1); $variable2 = mysqli_real_escape_string($connection, $variable2); 它不起作
list($variable1, $variable2) = explode("|", $_POST['something']);
然后,当我将这两个变量放入mysqli_real_escape_字符串中时:
$variable1 = mysqli_real_escape_string($connection, $variable1);
$variable2 = mysqli_real_escape_string($connection, $variable2);
它不起作用。我知道这一点,因为双引号不会插入mysql数据库。我错在哪里
@variable1=mysqli\u real\u escape\u字符串($connection,$variable1)
这个代码根本不起作用。语法@variable1
无效。应该是
$variable1 = mysqli_real_escape_string($connection, $variable1);
您可以使用下面的代码,也可以使用foreach循环为数组中的每个现有键/值对分配一个变量
$clean_post = mysqli_real_escape_string($connection, $_POST['something']);
$array_post = explode("|", $clean_post);
$value1 = $array_post[0];
$value2 = $array_post[1];
了解有关的语句。即使是这样也不安全!为什么要使用
@variable
而不是$variable
?你不应该再使用mysqli\u real\u escape\u string
,这不安全。你应该使用事先准备好的语句:它不起作用。所以它冒烟,着火,什么?准备语句实际上比使用mysqli\u real\u escape\u字符串简单得多。你再也不用担心引用你的变量了,这就消除了大量的语法错误。如果你在没有准备好陈述的情况下发布了答案。此外,这不是关于任何实践,而是关于OP的正确基本语法问题。我相信你在这里和问题下的评论足以表明危险性。我现在意识到mysqli\u real\u escape\u字符串不是问题,为什么我不能在mysql数据库中插入带双引号的文本。Probel明确地包含在这段代码中:list($variable1,$variable2)=explode(“|“,$_POST['something');但我找不到解决办法。