Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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中匹配日期框的记录的MYSQL查询_Php_Mysql - Fatal编程技术网

PHP中匹配日期框的记录的MYSQL查询

PHP中匹配日期框的记录的MYSQL查询,php,mysql,Php,Mysql,我在一个占星术网站上工作,我有一个表单,在我的PHP代码中提供了这个人的生日。 在我的MYSQL数据库中,我有一列以yyyy-mm-dd格式保存标志的开始日期 这是到目前为止我的代码 $vdate = explode("-", $_POST['bDay']); //input date "SELECT `signs`.`bio`, `signs`.`startDate`, date_format(startDate,'%Y-%b-%d') FROM `orion`.`signs` WHERE

我在一个占星术网站上工作,我有一个表单,在我的PHP代码中提供了这个人的生日。 在我的MYSQL数据库中,我有一列以yyyy-mm-dd格式保存标志的开始日期

这是到目前为止我的代码

$vdate = explode("-", $_POST['bDay']);
//input date

"SELECT `signs`.`bio`, `signs`.`startDate`, date_format(startDate,'%Y-%b-%d')
FROM `orion`.`signs`
WHERE (MONTH(startDate) = ."$vdate[1]". AND DAYOFMONTH(startDate) <= ."$vdate[2]".)
OR (MONTH(startDate) = ."($vdate[1]+1)". AND DAYOFMONTH(startDate) > ."$vdate[2]".);"

$result = mysqli_query($conn, $sql);
$row = $result->fetch_array(MYSQLI_ASSOC);
echo $row['bio'];

我做错了什么?

您以错误的方式连接

"SELECT `signs`.`bio`, `signs`.`startDate`, date_format(startDate,'%Y-%b-%d')
FROM `orion`.`signs`
WHERE (MONTH(startDate) = ".$vdate[1]." AND DAYOFMONTH(startDate) <= ".$vdate[2].")
OR (MONTH(startDate) = ".($vdate[1]+1)." AND DAYOFMONTH(startDate) > ".$vdate[2].");"
这个。用于在PHP中连接字符串。必须在关闭字符串后使用,例如:aaa.bbb=>aaabb


PS:您的代码易受SQL注入攻击。改用。

非常感谢!这是一个学校项目,我们还没有涉及到。
"SELECT `signs`.`bio`, `signs`.`startDate`, date_format(startDate,'%Y-%b-%d')
FROM `orion`.`signs`
WHERE (MONTH(startDate) = ".$vdate[1]." AND DAYOFMONTH(startDate) <= ".$vdate[2].")
OR (MONTH(startDate) = ".($vdate[1]+1)." AND DAYOFMONTH(startDate) > ".$vdate[2].");"