Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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在这里似乎不起作用,我只做了一个查询no join等,当我指定要显示的列等时,这似乎很好 但是,当我在尝试指定数据集的列时使用join进行查询时,我在浏览器控制台中不断收到systex错误 我看不出有什么问题 <?php $month = $_POST['month']; $year= $_POST['year']; ?> <?php $query = mysql_query("Select donation_tracker.d

我的PHP在这里似乎不起作用,我只做了一个查询no join等,当我指定要显示的列等时,这似乎很好

但是,当我在尝试指定数据集的列时使用join进行查询时,我在浏览器控制台中不断收到systex错误

我看不出有什么问题

 <?php
     $month = $_POST['month'];
     $year= $_POST['year'];
     ?>
    <?php $query = mysql_query("Select donation_tracker.donation_Amount, donation_tracker.Location_ID, donation_tracker.Month, donation_tracker.Year,donation_tracker.City_ID,city_markers.City_Name, location_markers.Location_Name from donation_tracker inner join location_markers on donation_tracker.Location_ID = location_markers.Location_ID inner join city_markers on donation_tracker.City_ID = city_markers.City_ID where donation_tracker.Month= '$month' and donation_tracker.Year = '$year'");
    $numrows=mysql_num_rows($query);
    while($row = mysql_fetch_array($query)){
    $data[0] = $row['donation_tracker.donation_Amount'];
    $data[1] = $row['location_markers.Location_Name'];
    echo "['".$data[0]."', ".$data[1]."],";
    }
    ?>

错误消息是:

Undefined index: month ... on line 41
Undefined index: year  ... on line 42
如果第41行是上述代码的第2行,则您尚未发布月份和年份的值

试试像这样的东西

if(isset($_POST['month'])) {
    $month = $_POST['month'];
} else {
    $month = 'January'; // put in your default value
}
if(isset($_POST['year'])) {
    $year = $_POST['year'];
} else {
    $year = '2013'; // put in your default value
}
$query = mysql_query("Select donation_tracker.donation_Amount, donation_tracker.Location_ID, donation_tracker.Month, donation_tracker.Year,donation_tracker.City_ID,city_markers.City_Name, location_markers.Location_Name from donation_tracker inner join location_markers on donation_tracker.Location_ID = location_markers.Location_ID inner join city_markers on donation_tracker.City_ID = city_markers.City_ID where donation_tracker.Month= '$month' and donation_tracker.Year = '$year'");
$numrows=mysql_num_rows($query);
$comma="";
while($row = mysql_fetch_array($query)) {
    $data = array();
    $data[0] = $row['donation_Amount'];
    $data[1] = $row['Location_Name'];
    echo $comma."['".$data[0]."','".$data[1]."']";
    $comma=",";
}

浏览器控制台中的语法错误?这不是javascript或css错误吗?如果您所问的php正在生成json,那么您就错了。您应该创建一个php数组,然后使用php的内置方法将php数组转换为json。您能告诉我们您得到的确切错误吗?对不起,但是我的眼睛还不够好,无法看到这个错误消息……它突出显示了一个break标记。虽然我认为我的表单代码(在你发表评论之前没有添加)是在发布变量,但你说的很有意义(这不是调用错误的旧代码。它现在正在运行吗?很抱歉,我替换了我的两个变量$month=$\u POST['month']和$year=$\u POST['year'];对于您建议的代码,这两种代码对我都不起作用。它现在是否使用更正的代码运行?表中的generation_tracker.Month是否真的是字符串列?不起作用意味着什么?您现在是否收到另一条错误消息?
Undefined index: month ... on line 41
Undefined index: year  ... on line 42
if(isset($_POST['month'])) {
    $month = $_POST['month'];
} else {
    $month = 'January'; // put in your default value
}
if(isset($_POST['year'])) {
    $year = $_POST['year'];
} else {
    $year = '2013'; // put in your default value
}
$query = mysql_query("Select donation_tracker.donation_Amount, donation_tracker.Location_ID, donation_tracker.Month, donation_tracker.Year,donation_tracker.City_ID,city_markers.City_Name, location_markers.Location_Name from donation_tracker inner join location_markers on donation_tracker.Location_ID = location_markers.Location_ID inner join city_markers on donation_tracker.City_ID = city_markers.City_ID where donation_tracker.Month= '$month' and donation_tracker.Year = '$year'");
$numrows=mysql_num_rows($query);
$comma="";
while($row = mysql_fetch_array($query)) {
    $data = array();
    $data[0] = $row['donation_Amount'];
    $data[1] = $row['Location_Name'];
    echo $comma."['".$data[0]."','".$data[1]."']";
    $comma=",";
}