用单引号包裹一个字符串 PHP
wrap a string with single quotes PHP
我正在构建一个查询,我需要用 single quote
:
来包装我的字符串
$sqlRome.="SELECT distinct id_jeune FROM jeunes_rome WHERE code_rome IN (";
foreach ($liste_rome as $rome):
$sqlRome.="'".$rome."'";//HERE
if ($j < count($liste_rome) - 1):
$sqlRome.=",";
$sqlRome.=") GROUP BY id_jeune HAVING COUNT(*)=" . $j;
我以前做过,但记不起来了!我想这一定很简单。
试试 -
$sqlRome.="SELECT distinct id_jeune FROM jeunes_rome WHERE code_rome IN (";
foreach ($liste_rome as $rome) {
$var[] = "'".$rome."'";
}
$sqlRome.= implode(',', $var);
$sqlRome.=") GROUP BY id_jeune HAVING COUNT(*)=" . $j;
你做得很好,除了任何潜在的 sql 注入问题。
您的块结构确实有问题,但是,请使用 { ... }
或以正确的块结尾结束您的 foreach ():
和 if ():
语句:
$sqlRome="SELECT distinct id_jeune FROM jeunes_rome WHERE code_rome IN (";
// ^ no concatenation here
foreach ($liste_rome as $rome):
$sqlRome.="'".$rome."'";//HERE
if ($j < count($liste_rome) - 1):
$sqlRome.=",";
// end the if statement
endif;
// end the foreach loop
endforeach;
$sqlRome.=") GROUP BY id_jeune HAVING COUNT(*)=" . $j;
$j
从何而来?因为它在循环中没有改变,所以它要么总是添加逗号,要么从不添加。这可能不是你想要的。
我正在构建一个查询,我需要用 single quote
:
$sqlRome.="SELECT distinct id_jeune FROM jeunes_rome WHERE code_rome IN (";
foreach ($liste_rome as $rome):
$sqlRome.="'".$rome."'";//HERE
if ($j < count($liste_rome) - 1):
$sqlRome.=",";
$sqlRome.=") GROUP BY id_jeune HAVING COUNT(*)=" . $j;
我以前做过,但记不起来了!我想这一定很简单。
试试 -
$sqlRome.="SELECT distinct id_jeune FROM jeunes_rome WHERE code_rome IN (";
foreach ($liste_rome as $rome) {
$var[] = "'".$rome."'";
}
$sqlRome.= implode(',', $var);
$sqlRome.=") GROUP BY id_jeune HAVING COUNT(*)=" . $j;
你做得很好,除了任何潜在的 sql 注入问题。
您的块结构确实有问题,但是,请使用 { ... }
或以正确的块结尾结束您的 foreach ():
和 if ():
语句:
$sqlRome="SELECT distinct id_jeune FROM jeunes_rome WHERE code_rome IN (";
// ^ no concatenation here
foreach ($liste_rome as $rome):
$sqlRome.="'".$rome."'";//HERE
if ($j < count($liste_rome) - 1):
$sqlRome.=",";
// end the if statement
endif;
// end the foreach loop
endforeach;
$sqlRome.=") GROUP BY id_jeune HAVING COUNT(*)=" . $j;
$j
从何而来?因为它在循环中没有改变,所以它要么总是添加逗号,要么从不添加。这可能不是你想要的。