好吧,標題可能有點誤導。我想要做的是添加一個最喜歡的系統到我的網站。我爲我最喜歡的東西準備了一個專欄,我在每個商品ID之後都設置了一個:
。如何檢查從我的數據庫返回的字符串(1345:13456:232:524378:324
)如果它包含232
?如果是這樣,我會迴應preRend
否則我會迴應insert
並插入該ID後跟:
。這是我到目前爲止:PHP檢查MySQL表是否包含值
<?php
session_start();
require_once(".conf.php");
$logged = $_SESSION['logged'];
$user = $_SESSION['user'];
$fwdfav = $_POST['id'];
$query = mysql_query("SELECT * FROM accountController WHERE user='$user'");
if ($logged == 1)
{
while ($row = mysql_fetch_array($query)) {
if ($row['fav-itms'] //This is where I got stuck. How to check if it contains a value.)
{
mysql_query("INSERT INTO accountController ('fav-itms') VALUES ('$fwdfav')");
echo 'inserted';
}
else
{
echo 'preRend';
}
}
}
else
{
echo 'nlog';
}
?>
非常感謝!我相信這裏有很多錯誤,因爲我很累。
**不要在關係數據庫列中存儲分隔字符串**使用[交接表](http://en.wikipedia.org/wiki/Junction_table)創建*多對多*關係 – Phil 2012-01-31 04:28:08
壞主意取決於系統,但假設你負責代碼和數據庫,它不是一種理智的方式,因爲關係表非常易於管理,並且可以完全消除你在這裏提到的問題。如果你的網站很小,那麼爆炸與簡單加入的處理沒有什麼區別,所以理性的論點是這種方法的可持續性,並且如果其他任何人還活着願意拿起你離開的地方。如果我肯定繼承了這種方法,我會生氣。特別是考慮關係表的設置和管理有多容易。 – 2012-01-31 04:38:41
@JosephTorraca,那麼擁有一個數據庫有什麼意義呢?爲什麼不把所有內容都轉儲爲400列寬的CSV?答案當然是,你不能輕鬆地對你在該領域擁有的數據進行排序,加入,聚合或其他任何事情。你正在渲染你的數據庫對這些數據沒用。 – Brad 2012-01-31 04:39:34