【发布时间】:2014-12-08 17:47:55
【问题描述】:
我有一个按周运行的体育比赛选择应用程序。现在,如果您选择已经选择的一周,我会收到一个 php 错误。而不是这样,我只想向用户显示一条消息,说您已经选择了本周。
这是我选择同一周时遇到的错误
ERROR: duplicate key value violates unique constraint "user_record_pkey"
DETAIL: Key (username, week_no)=(john, 1) already exists
这是我的代码
<?php
session_start();
require_once("dbconnect.php");
$flag = 0;
$row = 1;
// $weekest = $_POST['weekNum'];
$result3 = pg_query($conn, 'INSERT INTO demo.user_record VALUES (\''.$_SESSION['username'].'\','.$_POST['weekNum'].',0,0)') or die(pg_last_error());
//echo $_POST['picks0'];
//echo $_POST['picks1'];
for($row=1;$row<=$_POST['numPicks'];$row++){
$pickName = "picks" . $row;
echo $pickName;
if($_POST[$pickName] == "picks$row")
{
$pick = $_POST['Tname'.$flag];
$flag+=2;
}
else
{
$flag++;
$pick = $_POST['Tname' . $flag];
$flag++;
}
//echo "error2";
$result2 = pg_prepare($conn, "myquery".$row, 'INSERT INTO demo.user_picks VALUES ($1,$2,$3,$4)') or die(pg_last_error());
$result2 = pg_execute($conn, "myquery".$row, array($_SESSION['username'],$_POST['weekNum'], $row, $pick)) or die(pg_last_error());
echo "finished";
}
?>
【问题讨论】:
-
什么是表描述
user_recor -
将值插入到 user_record 表中
-
我觉得你是初学者?在 mysql 终端中运行以下查询并将输出粘贴到此处。
desc user_record -
我想我只需要在某处添加一个 if 语句
-
您需要首先运行 SELECT 查询以查看用户/周的条目是否已存在。如果它返回结果,则显示您的消息;否则,运行您的 INSERT 查询。
标签: php postgresql error-handling subquery