-1

我有一个 PHP 问题。我想用 PHP 进行表更新。

    $name = pg_escape_string($_POST['NAME']);
    $place = pg_escape_string($_POST['PLACE']);
    $zip = pg_escape_string($_POST['ZIP']);
    $nation = pg_escape_string($_POST['NATION']);

    $name = "'"  .  $name . "'";
    $place = "'"  .  $place . "'";
    $zip = "'"  .  $zip . "'";
    $nation = "'"  .  $nation . "'";
    $club_id = "'"  .  $club_id . "'";        



   $result = pg_query($db_connect, "UPDATE club SET name_c = $name, place_c = $place, zip_c = $zip, nation_c = $nation WHERE id_c = $club_id;");

为什么它不起作用?

谢谢!

4

1 回答 1

1

您没有club_id在代码中定义。为了避免任何问题和清理代码,我会这样做:

$club_id = 1;
$dbconn = pg_connect("connectionstring");
$sql = 'UPDATE club SET name_c = $1, place_c = $2, zip_c = $3, nation_c = $4 WHERE id_c = $5;';
$result = pg_query_params($dbconn, $sql, array(
    $_POST['NAME'],
    $_POST['PLACE'],
    $_POST['ZIP'],
    $_POST['NATION'],
    $club_id
));

// Do what you need

它会为您转义值,因此无需处理奇怪的情况。

http://php.net/manual/en/function.pg-query-params.php

于 2016-03-01T22:18:44.700 回答