Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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_String - Fatal编程技术网

PHP字符串给出语法错误

PHP字符串给出语法错误,php,string,Php,String,为什么我在这个字符串中遇到这种类型的错误: $query="SELECT Name,Lastname FROM $_SESSION['SESS_MAIN_BASE'] s, WHERE s.FK_ID_user={$id_user} AND DATE(s.time) BETWEEN '".$d_year1."-".$d_month1."-".$d_day1."' AND '".$d_year2."-".$d_month2."-".$d_day2."'"; 替换 $quer

为什么我在这个字符串中遇到这种类型的错误:

$query="SELECT Name,Lastname FROM $_SESSION['SESS_MAIN_BASE'] s,
     WHERE s.FK_ID_user={$id_user}
     AND DATE(s.time) BETWEEN '".$d_year1."-".$d_month1."-".$d_day1."' AND '".$d_year2."-".$d_month2."-".$d_day2."'";
替换

 $query="SELECT Name,Lastname FROM $_SESSION['SESS_MAIN_BASE'] s,

更好

$query= "SELECT Name,Lastname FROM %s s, WHERE s.FK_ID_user= '%d' AND DATE(s.time) BETWEEN '%d-%d-%d' AND '%d-%d-%d'";
$query = sprintf($query,$_SESSION['SESS_MAIN_BASE'],$id_user,$d_year1 ,$d_month1,$d_day1,$d_year2,$d_month2,$d_day2);
试试这个:

$query="SELECT Name,Lastname FROM {$_SESSION['SESS_MAIN_BASE']} s, ";
$query.="WHERE s.FK_ID_user={$id_user}";
$query.="AND DATE(s.time) BETWEEN '".$d_year1."-".$d_month1."-".$d_day1."' AND";
$query.="'".$d_year2."-".$d_month2."-".$d_day2."'";
改变


$\u会话变为空,因为[]是字符串。

从数组键中删除引号。在双引号字符串中使用数组时,带引号的键将发出警告。或者切换到
{}
封装表示法。无意义。这并没有改变什么,只是让事情变得更难阅读。我不会-1,因为你确实输入了
{}
,这将解决问题。我仍然在这个地方得到错误:
其中s.FK_ID_user='
我检查了我收到的是一个作为值的数字
$ID_user
但是错误仍然持续
%d
我只得到了0(零)
var_dump($)的值是多少['SESS_MAIN_BASE'])
与上述问题或错误无关。…
PHP字符串给出语法错误
$query="SELECT Name,Lastname FROM $_SESSION['SESS_MAIN_BASE'] s,
     WHERE s.FK_ID_user=$id_user
     AND DATE(s.time) BETWEEN '$d_year1-$d_month1-$d_day1' AND '$d_year2-$d_month2-$d_day2'";
$_SESSION['SESS_MAIN_BASE']
{$_SESSION['SESS_MAIN_BASE']}
$query="SELECT Name,Lastname FROM $_SESSION['SESS_MAIN_BASE'] s,
     WHERE s.FK_ID_user=$id_user
     AND DATE(s.time) BETWEEN '$d_year1-$d_month1-$d_day1' AND '$d_year2-$d_month2-$d_day2'";