首页 文章

警告:pg_query()[function.pg-query]:查询失败:错误:未终止的引用字符串在或附近

提问于
浏览
1

我有一个查询,我得到错误:

代码是:

$prefix = $data->sheets[0]['cells'][$row][2];
$fiyat = $data->sheets[0]['cells'][$row][3];
$increment = $data->sheets[0]['cells'][$row][4];
$tarih = $data->sheets[0]['cells'][$row][5];
$tarih = explode('.',$tarih);
$effective_date = $tarih[2] . "-" . $tarih[1] . "-" . $tarih[0];

所有变量都返回正确的值(和变量类型) .

$query_insert_to_rates = "INSERT INTO rates VALUES (nextval('routes_seq'), '$prefix', '$i_tariff', '$fiyat_orj', '$fiyat_orj', '$increment', '$increment', '$forbidden', 't', '0', '0', '$increment', '$increment', NULL, '$eff_date_ins', NULL);";

$ result_insert_to_rates = pg_query($ query_insert_to_rates);

INSERT INTO rates VALUES (nextval('routes_seq'), '21321', '8', '0.0470', '0.0470', '1', '1', 't', 't', '0', '0', '1', '1', NULL, '2012-06-01 00:00:00.000001+02', NULL);

警告:pg_query()[function.pg-query]:查询失败:错误:未终止的带引号的字符串在“'2”处或附近,在字符50处.....

现在,当我在PHP中运行查询时,我得到上述错误 . 我的PHP版本是5.3.10 . 这台机器是Centos 5(VPS) .

但是,如果我通过Navicat(连接到数据库)运行查询,那么我没有错误,并且查询执行完美 .

任何帮助,将不胜感激 .

1 回答

  • 2

    这是一个糟糕的代码:不安全和不安全 . 不要使用这种模式

    $SQL = "INSERT ... ('$var1', '$var2')
    

    请改用PDO参数化查询或pg_escape_string函数

    pg_escape_string

相关问题