我构建了以下查询
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来自表中比较的 session 信息。
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>
但是,当我执行此操作时,不会将任何信息应用于数据库,选择按钮时也不会显示错误消息。有谁知道出了什么问题吗?
最佳答案
我猜测是因为“SELECT id”返回空结果集
尝试以下操作:
SELECT id FROM users WHERE Username = '".$_SESSION['MM_Username']."'
注意双引号周围的额外单引号
关于PHP MySQL 查询提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10743444/