我试图检查一个颜色是否已经输入到数据库中,如果是颜色不应该输入并存储到数据库中并且应该显示以下错误代码<p>This color has already been entered!</p>
。但由于某种原因,我无法得到这个工作,有人可以帮助我吗?PHP和MySQL验证问题
颜色名称被输入$_POST['color']
,这是用户输入的数组。
这里是收集颜色的html代码。
<input type="text" name="color[]" />
<input type="text" name="color[]" />
<input type="text" name="color[]" />
<input type="text" name="color[]" />
<input type="text" name="color[]" />
<input type="text" name="color[]" />
<input type="text" name="color[]" />
<input type="text" name="color[]" />
<input type="text" name="color[]" />
这里是PHP & MySQL的代码。
for($i=0; $i < count($_POST['color']); $i++) {
$color = "'" . $_POST['color'][$i] . "'";
}
$mysqli = mysqli_connect("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT *
FROM colors
WHERE color = '$color'
AND user = '$user_id' ");
if(mysqli_num_rows($dbc) == TRUE) {
echo '<p>This color has already been entered!</p>';
} else if(mysqli_num_rows($dbc) == 0) {
// enter the color into the database
}
你知道你想运行哪个SQL查询吗? – 2010-04-27 11:55:03
您在for语句中覆盖'$ color',因此只有最后一个被采用。但无论如何,如果你打印'
这种颜色已经进入!
'用户如何知道**其中哪一个? – 2010-04-27 11:55:56@Col。弹片你是什么意思? – IPADvsSLATE 2010-04-27 11:56:46