0

我已经构建了以下查询

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO selection (student_id, id_project, level_of_want) 
VALUES ((SELECT id FROM users WHERE Username = ".$_SESSION['MM_Username']." ), %s, %s)",
GetSQLValueString($_POST['Project_id'], "int"),
GetSQLValueString($_POST['Want'], "text"));

mysql_select_db($database_projectsite, $projectsite);
$Result1 = mysql_query($insertSQL, $projectsite) or die(mysql_error());
}

student_id 来自表中比较的会话信息。

id_project 来自应包含当前 id 的隐藏字段,level_of_want 来自两个提交按钮。选择一个时,该值将应用于数据库。以下是表格中的外观。

<input type="submit" name="Want[]" id="Want_0" value="Really Want" />
      <input type="submit" name="Want[]" id="Want_1" value="Partially Want" />
    </p>
    <p>
      <input name="Project_id" type="hidden" id="Project_id" value="<?php echo $row_Test['Project_id']; ?>" />
    </p>

但是,当我执行此操作时,不会将任何信息应用于数据库,选择按钮时也不会显示错误消息。有没有人有任何可能的线索知道什么是错的?

4

2 回答 2

2

我猜是因为“SELECT id”返回一个空的结果集

尝试以下操作:

SELECT id FROM users WHERE Username = '".$_SESSION['MM_Username']."'

注意双引号周围的额外单引号

于 2012-05-24T18:53:14.127 回答
0

弥敦道,

在您的提交输入中看到的是一个数组

<input type="submit" name="Want[]" id="Want_0" value="Really Want" />
<input type="submit" name="Want[]" id="Want_1" value="Partially Want" />

所以获得价值应该是

GetSQLValueString($_POST['Want'][0], "text"));

汤姆兹

于 2012-05-24T18:58:46.123 回答