Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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_Sql_Email - Fatal编程技术网

PHP插入查询-如果变量无效,不要先插入逗号

PHP插入查询-如果变量无效,不要先插入逗号,php,sql,email,Php,Sql,Email,我正在运行SQL INSERT查询以插入以下变量: '".$emails_list."".$extra_emails_list."".$cc_email_to."', 我需要用a分隔每个电子邮件地址,因此$cc_email_to var如下所示: $cc_email_to = ','.$_POST["email_cc"]; 但是如果$emails\u list或$extra\u emails\u list中没有电子邮件地址,$cc\u email\u to变量正在插入,email@doma

我正在运行SQL INSERT查询以插入以下变量:

'".$emails_list."".$extra_emails_list."".$cc_email_to."', 
我需要用a分隔每个电子邮件地址,因此$cc_email_to var如下所示:

$cc_email_to = ','.$_POST["email_cc"];
但是如果
$emails\u list
$extra\u emails\u list
中没有电子邮件地址,$cc\u email\u to变量正在插入
,email@domain.com
当电子邮件试图发送时,我会收到错误,因为有一个,第一个,而不是一个电子邮件地址


如果之前没有任何数据,我如何进行插入,而不是插入,如果之前有其他数据要添加?

除了您的代码样式和SQL语句中用户直接输入的潜在安全问题之外

您正在寻找
内爆()

例如:

$mails = array('test@test.com', 'bla@bla.com');

if (is_array($mails)) {
    echo implode(',', $mails); //prints test@test.com,bla@bla.com
}

一个简单的解决方案是换一种方式,创建这样的变量

$cc_email_to .= $_POST["email_cc"].',';
if($emails_list!=null) $emails_list .=$_POST["email_list "].',';
if($extra_emails_list!=null) $extra_emails_list .= $_POST["extra_email_list "].',';
这样,最后的字符串将是安全的


不过,我建议不要像那样保存在数据库中。创建包含表示对象的个人信息的表,并使用类似ORM的原则来实现更健壮和可扩展的解决方案。

不建议在一个字段中放置多个值