我試圖檢查一個顏色是否已經輸入到數據庫中,如果是顏色不應該輸入並存儲到數據庫中並且應該顯示以下錯誤代碼<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