Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何添加引号?_Php_Mysql - Fatal编程技术网

PHP如何添加引号?

PHP如何添加引号?,php,mysql,Php,Mysql,结果我们得到下一个$sqlL: $sqlL = ''; $Allel = ''; foreach($arr as $el){ $AllUrl .= ",'".addslashes($el)."'"; $sqlL .= "INSERT INTO Table (ID, Seet, Column) VALUES ('4', '$Seet', '$el');"; } $AllUrl = substr($Allel, 1); //delete first comma

结果我们得到下一个
$sqlL

$sqlL = '';
$Allel = '';
foreach($arr as $el){
    $AllUrl .= ",'".addslashes($el)."'";
    $sqlL .= "INSERT INTO Table (ID, Seet, Column) VALUES ('4', '$Seet', '$el');";
}

        $AllUrl = substr($Allel, 1); //delete first comma
        $sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN($Allel);";
但在不正确的情况下,这是行不通的

请告诉我如何在
$Allel
中添加引号

注:我想得到下一个问题:

DELETE FROM Table WHERE ID= '4' AND URL NOT IN(house, test, test test);

您可以使用PHP
infrade()
函数

DELETE FROM Table WHERE ID= '4' AND URL NOT IN('house', 'test', 'test test');

您可以使用PHP
内爆()函数

DELETE FROM Table WHERE ID= '4' AND URL NOT IN('house', 'test', 'test test');
试试这个:

<?php
implode(', ', $array);
试试这个:

<?php
implode(', ', $array);

对此只有一个答案。。。使用准备好的语句,不要使用字符串函数和“手工”引号等构建自己的查询。这是有风险的,与干净的编程相反

无论如何:

如果
$Allel
包含纯值,请使用

$sqlL = '';

foreach($arr as $el){
    $sqlL .= "INSERT INTO Table (ID, Seet, Column) VALUES ('4', '$Seet', '$el');";
}

$AllUrl = "'".implode("','",$arr)."'";
$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN($AllUrl);";

第一行将在值周围环绕
,第二行将在每个值周围环绕
,对此只有一个答案。。。使用准备好的语句,不要使用字符串函数和“手工”引号等构建自己的查询。这是有风险的,与干净的编程相反

无论如何:

如果
$Allel
包含纯值,请使用

$sqlL = '';

foreach($arr as $el){
    $sqlL .= "INSERT INTO Table (ID, Seet, Column) VALUES ('4', '$Seet', '$el');";
}

$AllUrl = "'".implode("','",$arr)."'";
$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN($AllUrl);";

第一行将在值的周围环绕
,第二行将在每个值周围环绕
,我想他想要一些不同的东西,你能试试吗

$Allel = array_map(function($v) { return "'" . $v . "'"; }, $Allel);
$Allel = implode(', ', $Allel);
和sql

implode("', '", $array);

我想他想要不同的东西,你能试试吗

$Allel = array_map(function($v) { return "'" . $v . "'"; }, $Allel);
$Allel = implode(', ', $Allel);
和sql

implode("', '", $array);

你可以使用内爆函数

$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN('".$Allel."');";
请参见下面的示例

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

你可以使用内爆函数

$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN('".$Allel."');";
请参见下面的示例

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
试试这个

$array = array("1","2","3");
echo "Array is: ".implode(",",$array );

Array is: 1,2,3
试试这个

$array = array("1","2","3");
echo "Array is: ".implode(",",$array );

Array is: 1,2,3
试试这个:

$sqlL = '';
$Allel = '';

$arr_Allel = array();
foreach($arr as $el){
    $arr_Allel[] = ",'".addslashes($el)."'";
    $sqlL .= "INSERT INTO Table (ID, Seet, Column) VALUES ('4', '$Seet', '$el');";
}

$Allel = implode(",", $arr_Allel);

$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN($Allel);";
试试这个:

$sqlL = '';
$Allel = '';

$arr_Allel = array();
foreach($arr as $el){
    $arr_Allel[] = ",'".addslashes($el)."'";
    $sqlL .= "INSERT INTO Table (ID, Seet, Column) VALUES ('4', '$Seet', '$el');";
}

$Allel = implode(",", $arr_Allel);

$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN($Allel);";

虽然使用数组和内爆可能是最好的解决方案,但您的代码的问题在于您使用引号设置了一个变量,然后将另一个变量添加到SQL中:-

<?php 

foreach($arr as $el){
    $AllUrl .= "'".addslashes($el)."' "; // Add items between spaces
}

$AllUrl_ = explode(" ",$AllUrl);
$AllUrlFinal = implode(",", $AllUrl_ ); // Change spaces by commas
$AllUrlFinal=trim($AllUrlFinal, ","); // would cut trailing and prefixing commas.
$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN($AllUrlFinal);";
要使用内爆,请将项添加到数组中(忽略逗号),然后在最终赋值中使用分隔逗号将该数组内爆到DELETE语句中:-

$sqlL = '';
foreach($arr as $el)
{
    $AllUrl .= ",'".addslashes($el)."'";
    $sqlL .= "INSERT INTO Table (ID, Seet, Column) VALUES ('4', '$Seet', '$el');";
}

$AllUrl = substr($AllUrl, 1); //delete first comma
$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN($AllUrl);";
您应该使用mysql\u real\u escape\u string或等效工具对字符串进行转义。不确定您使用的是哪种数据库驱动程序,因此尽管mysql_*驱动程序已被弃用,但它们也可以这样做,例如:-

$sqlL = '';
foreach($arr as $el)
{
    $AllUrl[] = "'".addslashes($el)."'";
    $sqlL .= "INSERT INTO Table (ID, Seet, Column) VALUES ('4', '$Seet', '$el');";
}

$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN(".implode(',', $AllUrl).");";

虽然使用数组和内爆可能是最好的解决方案,但代码中的问题是,您使用引号设置了一个变量,然后将另一个变量添加到SQL:-

<?php 

foreach($arr as $el){
    $AllUrl .= "'".addslashes($el)."' "; // Add items between spaces
}

$AllUrl_ = explode(" ",$AllUrl);
$AllUrlFinal = implode(",", $AllUrl_ ); // Change spaces by commas
$AllUrlFinal=trim($AllUrlFinal, ","); // would cut trailing and prefixing commas.
$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN($AllUrlFinal);";
要使用内爆,请将项添加到数组中(忽略逗号),然后在最终赋值中使用分隔逗号将该数组内爆到DELETE语句中:-

$sqlL = '';
foreach($arr as $el)
{
    $AllUrl .= ",'".addslashes($el)."'";
    $sqlL .= "INSERT INTO Table (ID, Seet, Column) VALUES ('4', '$Seet', '$el');";
}

$AllUrl = substr($AllUrl, 1); //delete first comma
$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN($AllUrl);";
您应该使用mysql\u real\u escape\u string或等效工具对字符串进行转义。不确定您使用的是哪种数据库驱动程序,因此尽管mysql_*驱动程序已被弃用,但它们也可以这样做,例如:-

$sqlL = '';
foreach($arr as $el)
{
    $AllUrl[] = "'".addslashes($el)."'";
    $sqlL .= "INSERT INTO Table (ID, Seet, Column) VALUES ('4', '$Seet', '$el');";
}

$sqlL .= "DELETE FROM Table WHERE ID= '4' AND URL NOT IN(".implode(',', $AllUrl).");";

什么是
$Allel
?它不在代码中
addslashes()
不是逃避数据库输入的好方法。如果不使用PDO或MySQLi,请使用准备好的语句。建议阅读:对不起,不是逗号-需要添加引号什么是
$Allel
?它不在代码中
addslashes()
不是逃避数据库输入的好方法。如果您不这样做,请使用PDO或MySQLi。请使用准备好的语句。建议阅读:对不起,不需要逗号-需要添加引号Sorry,不需要逗号,需要在
$Allel
中添加引号,以便从ID为“4”且URL不在('house','test','test')的表中删除
抱歉,不需要逗号,需要在
$Allel
中添加引号,从ID为'4'且URL不在('house','test','test')的表中获取
删除这个。这太多了!请查看准备好的报表!没有“纯价值”每个数据都是危险的!这这太多了!请查看准备好的报表!没有“纯价值”每个数据都是危险的!已编辑-
$allurlfail=trim($allurlfail,“,”);//将删除尾随和前缀逗号。
编辑-
$allurlfail=trim($allurlfail,“,”);//将删除尾随和前缀逗号。