Php 如果我一周只选择一天,则无法将数据插入数据库
我试图通过检查一周中的天数将数据插入数据库,但如果我只检查一周中的一天,如果我检查了两天或更多天,则无法插入数据Php 如果我一周只选择一天,则无法将数据插入数据库,php,mysql,database,Php,Mysql,Database,我试图通过检查一周中的天数将数据插入数据库,但如果我只检查一周中的一天,如果我检查了两天或更多天,则无法插入数据 <?php //other parameters $days_only = $_REQUEST['days_only']; 问题是: if( $count_sample==1 ) { $in_sample='('.$days_only.')'; } 此处不会转义您传入的字符串$days\
<?php
//other parameters
$days_only = $_REQUEST['days_only'];
问题是:
if( $count_sample==1 ) {
$in_sample='('.$days_only.')';
}
此处不会转义您传入的字符串$days\u only
,而是当$count\u sample
值大于1时。上面的代码将提供如下内容:(金)代码>
也许您可以用双引号替换最外面的两个单引号,并删除concat句点:
$in_sample= "('$days_only')";
或者您可以用一个内爆()替换一个好的代码位。
:
在将输入发送到数据库之前,请务必记住在输入中添加验证,否则您将面临SQL注入。您遇到了什么错误?您能否在工作和失败场景中共享$days\u only
转储?@El_Vanja感谢您的响应,当我只选择一个时,我无法插入数据一天week@El_Vanja当我从数组$days\u only中选择两个以上时,我可以成功插入查询。如果只从$days\u中选择一个特定的日期,我是否需要更改任何内容?非常感谢@matigo,它起到了作用,我非常感谢您的帮助和建议。
if( $count_sample==1 ) {
$in_sample='('.$days_only.')';
}
$in_sample= "('$days_only')";
if ( $count_sample > 0) {
$in_sample="('" . implode("','", $days_only) . "')";
}