解析错误:语法错误,意外T_IF,期待','或';'

时间:2012-02-21 23:15:54

标签: php mysql

这是一个将列表提交到房地产列表数据库的简单表格。这是我第一次这样做,所以如果你发现任何我正在做的事情,这是不好的做法,或者只是愚蠢,请告诉我。

无论如何,关于我得到的错误:

Parse error: syntax error, unexpected T_IF, expecting ',' or ';' in C:\Program Files\EasyPHP-5.3.9\www\addform.php on line 62

我没有看到任何缺少分号的行,第62行是if语句....这个错误是什么?

<?php
//set database login variables
require_once 'login.php'; 

//connect to server
$db_server = mysql_connect($db_hostname, $db_username, $db_password); 

//all server access lines have to be dealt with better than this. See page 227. Probably create a function. 

//Note to self: look into try/catch in php

if (!$db_server) die("Unable to connect to database: " . msql_error()); 

mysql_select_db($db_database, $db_server) or die('Unable to select database: ' . mysql_error());
$submitted = false;

//Checking if values were passed
if (isset($_POST['area']) &&
    isset($_POST['type']) &&
    isset($_POST['price']) &&
    isset($_POST['bedrooms']) &&
    isset($_POST['fullbath']) &&
    isset($_POST['halfbath']) &&
    isset($_POST['sqft']))
    //if passed, set variables accordingly
    {
        $area = get_post('area');
        $type = get_post('type');
        $price = get_post('price');
        $bedrooms = get_post('bedrooms');
        $fullbath = get_post('fullbath');
        $halfbath = get_post('halfbath');
        $sqft = get_post('sqft');
        $submitted = true;
    }
//optional field
if (isset($_POST['remarks']))
    {
        $remarks = get_post('remarks');
    }
else
    {$remarks = '';}
//form HTML
echo <<<_END
    <form action="addform.php" method="post">
    Area: <select name="area" size="1">
        <option value="Hoboken">Hoboken</options>
        <option value="Jersey City">Jersey City</options>
        <option value="Weehawken">Weehawken</options>
    </select><br />
    Type: <select name="type" size="1">
        <option value="rent">Rental</options>
        <option value="sale">Sale</options>
        <option value="commercial">Commercial</option>
    </select><br />
    Price: <input type="text" name="price" /><br />
    Bedrooms: <input type="text" name="bedrooms" /><br />
    Full Bathrooms: <input type="text" name="fullbath" /><br />
    Half Bathrooms: <input type="text" name="halfbath" /><br />
    Square Feet:    <input type="text" name="sqft" /><br />
    Remarks:    <textarea name="remarks" wrap="soft" /><br />
    <input type="submit" value="Add Listing" />
    </form>
    <br />
    <br />
_END
//if data was provided, insert it into database and confirm
if ($submitted) {
    $query = "INSET INTO bix (area, type, price, bedrooms, fullbath, halfbath, sqft, remarks) VALUES('$area', '$type', '$price', $bedrooms', '$fullbath', '$halfbath', '$sqft', '$remarks')";
    if (mysql_query($query)){
        echo "listing inserted.<br /></br />";
    } else {
        echo "insert fail: $query <br /><br />";
    }
}

3 个答案:

答案 0 :(得分:4)

您在echo此处_END

之后错过了分号

答案 1 :(得分:3)

您在;声明之前肯定错过了if。第61行?

答案 2 :(得分:0)

好吧,你的$ query确实存在问题。

$query = "INSET INTO bix (area, type, price, bedrooms, fullbath, halfbath, sqft, remarks) VALUES('$area', '$type', '$price', $bedrooms', '$fullbath', '$halfbath', '$sqft', '$remarks')";

INSET可能应为INSERT,您希望'$bedrooms'代替$bedrooms'

除此之外,您在结束_END

后缺少分号