在php+postgresql的查询中使用变量和表名的正确方法是什么?

r6vfmomb  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(162)

我得到语法错误与查询在pg与php。我不清楚如何在查询中编写表名和变量。实际上,我在查询中使用了“table\u name”和“$var\u name”。特别是我得到的代码:

Warning: pg_query(): Query failed: ERROR: syntax error at or near "$" LINE 2: "Nombre_Prod" = COALESCE($newNombre_Prod, "Nombre_Pr...

对于此查询:

UPDATE public."Products" SET
        "Name_Prod" = COALESCE($newName_Prod, "Name_Prod"),
        "Price_Prod" = COALESCE($newPrecice_Prod, "Price_Prod"),
        "Cant_Prod" = COALESCE($newCant_Prod, "Cant_Prod"),

    WHERE Prod_ID = $id
    AND ($newNamee_Pro IS NOT NULL AND $newName_Prod IS DISTINCT FROM Name_Prod OR
        $newPrice_Prod IS NOT NULL AND $newPrice_Prod IS DISTINCT FROM Price_Prod OR
        $newCant_Prod IS NOT NULL AND $newCant_Prod IS DISTINCT FROM Cant_Prod OR
        )

这是我的密码:

$id = $_GET['id'];

$newName_Prod = "'".$_POST['newName_Prod']."'";
$newPrice_Prod = "'".$_POST['newPrice_Prod']."'";
$newCant_Prod = "'".$_POST['newCant_Prod']."'";

$query = 
   'UPDATE public."Products" SET
       "Name_Prod" = COALESCE($newName_Prod, "Name_Prod"),
       "Price_Prod" = COALESCE($newPrecice_Prod, "Price_Prod"),
       "Cant_Prod" = COALESCE($newCant_Prod, "Cant_Prod"),

   WHERE Prod_ID = $id
   AND ($newNamee_Pro IS NOT NULL AND $newName_Prod IS DISTINCT FROM Name_Prod OR
       $newPrice_Prod IS NOT NULL AND $newPrice_Prod IS DISTINCT FROM Price_Prod OR
       $newCant_Prod IS NOT NULL AND $newCant_Prod IS DISTINCT FROM Cant_Prod OR
       )';

$result = pg_query($conexion,$query);

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题