0

我正在创建一个表格,该表格根据表单选择输出国家/地区详细信息列表,但我不断收到此错误:MDB2 Error: syntax error. 如何修复此类错误?

这是我的代码:

<?php
    $db =& MDB2::connect($dsn); 
    if(PEAR::isError($db)){ 
        die($db->getMessage());
    }
    $table_name="country";
    $db->setFetchMode(MDB2_FETCHMODE_ASSOC);

    $country_id = mysql_real_escape_string($_GET["country_id"]);

    // collect values from a form sent with method=get
    $gdp = mysql_real_escape_string($_GET["gdp"]);
    $population = mysql_real_escape_string($_GET["population"]);
    $country_name = mysql_real_escape_string($_GET["country_name"]);
    $gold = mysql_real_escape_string($_GET["gold"]);
    $bronze = mysql_real_escape_string($_GET["bronze"]);
    $silver = mysql_real_escape_string($_GET["silver"]);
    $total = mysql_real_escape_string($_GET["total"]);

    $sql = "SELECT * FROM $country WHERE country_id='$country_id'";

    $res =& $db->query($sql);      //MDB2 Error: syntax error

    if (PEAR::isError($res)) {
        die($res->getMessage());    //error printed here
    }
?>
4

1 回答 1

1

在您的行中,未定义"SELECT * FROM $country WHERE country_id='$country_id'"变量,因此它将呈现为 eg ,因此出现 SQL 错误。$country"SELECT * FROM WHERE country_id='1'"

看起来你的意思$table_name有价值 'country'的。

由于这似乎只定义了几行,因此直接在 SQL 语句中编写它可能更有意义,而不是有一个变量,但也许你以后有这个变量的计划......

于 2013-03-20T23:46:24.700 回答