使用mysql查询时出错

时间:2010-11-17 13:33:16

标签: php mysql

我在sql中遇到问题

SQL错误

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   在'58 .47''''附近的第1行

sql代码:

mysql_query("INSERT INTO ponudba 
(ime_ponudbe,zaporedna_stevilka,id_podjetja,veljavnost,znesek) VALUES('$ime_ponudbe','$zaporedna_stevilka','$id_podjetja','$veljavnost,'$znesek'')");
zaporedna_stevilka -> value 1
id_podjetja -> value 2
veljavnost -> value 17.11.2010
znesek-> value is 58.47

6 个答案:

答案 0 :(得分:7)

尝试:

mysql_query("INSERT INTO ponudba (ime_ponudbe,zaporedna_stevilka,id_podjetja,veljavnost,znesek) VALUES('$ime_ponudbe','$zaporedna_stevilka','$id_podjetja','$veljavnost,'$znesek')");

你在最后一个变量的末尾有一个额外的'(撇号)。

答案 1 :(得分:1)

如果您的表格字段znesek是双倍的,请确保$znesek也是双倍的,看起来像是字符串。

答案 2 :(得分:0)

将'$ znesek''更改为'$ znesek'。您使用了双引号。应该是单引号。

答案 3 :(得分:0)

<?php 

$podjetje = $_POST['podjetje'];
        $veljavnost = $_POST['datepicker'];
        $naziv_artikla_storitve = $_POST['naziv_artikla_storitve'];
        $kolicina = $_POST['kolicina_st'];
        $storitev_em = $_POST['em_ime'];
        $cena_st = $_POST['cena_st'];
        $cena_popust = $_POST['cena_popust'];
        $cena_s_popustom = $_POST['cena_s_popustom'];
        $vrednost_st = $_POST['vrednost_st'];
        $znesek = $_POST['znesek'];
        $popust_na_vse = $_POST['popust_na_vse'];
        $z_z_popustom = $_POST['z_z_popustom'];
        $ddv = $_POST['ddv'];
        $koncni_znesek = $_POST['koncni_znesek'];
        $datum = date("d.m.Y");

        $preveri_zap_stevilko = mysql_fetch_array(mysql_query("SELECT max(zaporedna_stevilka) as zaporedna_stevilka FROM ponudba"));
        $stevilka = $preveri_zap_stevilko['zaporedna_stevilka'];

        $preveri_st = mysql_query("SELECT zaporedna_stevilka FROM ponudba ORDER BY zaporedna_stevilka ASC");

        $i=1;
        while ($row = mysql_fetch_array($preveri_st))
        {
            if($i != $row['zaporedna_stevilka'])
            {
                $manjkajoca_stevilka = $i;
                break;
            }
            $i++;
        }

        $vel = sizeof($manjkajoca_stevilka);
        if($vel == 0)
        {
            $zaporedna_stevilka = $stevilka+1;  
        }
        else
        {
            $zaporedna_stevilka = $manjkajoca_stevilka; 
        }

        $dobi_id_podjetja = mysql_fetch_array(mysql_query("SELECT * FROM stranka WHERE ime_podjetja='$podjetje'"));
        $id_podjetja = $dobi_id_podjetja['id'];

        $arr = str_split($zaporedna_stevilka);

        $vel =  sizeof($arr);

        if($vel == 1)
        {
            $nova_st = "0000".$zaporedna_stevilka;  
        }
        if($vel == 2)
        {
            $nova_st = "000".$zaporedna_stevilka;   
        }
        if($vel == 3)
        {
            $nova_st = "00".$zaporedna_stevilka;
        }
        if($vel == 4)
        {
            $nova_st = "0".$zaporedna_stevilka;
        }
        if($vel == 5)
        {
            $nova_st = $zaporedna_stevilka; 
        }
        $ime_ponudbe = "P-".$nova_st."-".$datum;

        mysql_query("INSERT INTO ponudba (ime_ponudbe,zaporedna_stevilka,id_podjetja,veljavnost,znesek) VALUES('$ime_ponudbe','$zaporedna_stevilka','$id_podjetja','$veljavnost,'$znesek')");

&GT;

答案 4 :(得分:0)

mysql表是什么字符集? “有效”吗?正如其他人提到的,最后一个引号是错误的。此外,更危险的是,这段代码闻起来很糟糕的SQL注入漏洞。请研究占位符以处理您的参数。

答案 5 :(得分:0)

一些建议:

将所有字段名称括在`characters

之间

在引用变量/值的位置,请替换:

带有'$variable'

'".mysql_real_escape_string ($variable)."'