(是的,標題應該是更容易理解,但老實說,我不知道如何設置它。)相同的代碼工作不同於數據庫加載數據,並使用本地數據
我所試圖做的是創造拉丁語在線字典。當你搜索一個詞的代碼(我使用了一些索引,所以不用擔心選擇性)將在一個字符串內逐行搜索該名稱(該字符串變爲使用爆炸的數組)。
我已經創建了一個名爲「測試」表只是使用此代碼的做法,但它在字典中的一個的方式是相同的:here the table
試圖加載從數據庫中的數據我檢查之前如果它在本地工作。它在本地工作。這裏的代碼:使用相同的代碼
$word_searched = 'puellam';
$string_declination = ('puella,puellae,puellae,puellam,puella,puella');
$array_declination = explode(",", $string_declination);
$check = 0;
foreach ($array_declinazion as $item) {
if ((strcmp($item, $word_searched)) === 0){
$check++;
}
}
if ($check > 0) {
echo 'yes';
}
然後我tryed從數據庫(表「測試」)加載數據。下面的代碼:
$query = "SELECT * FROM test";
$result = mysqli_query($conn, $query) or die('Error running query!');
$check = 0;
$string = 'puellam';
while($row = $result->fetch_assoc()) {
$array_declinazione = explode(",", $row['declinazione']);
foreach ($array_declinazione as $item) {
if ((strcmp($item, $string)) === 0){
$check++;
}
}
}
if ($check > 0) {
echo 'yes';
}
第一個代碼工作完美,但儘管它以同樣的方式,第二個甚至沒有。我只是不明白爲什麼。
你的第一個是行不通的,因爲在一個變量名中的類型;)現在都失業了的'$行[「declinazione」什麼樣的價值觀]'? – JNevill
是的,當我在本地工作時,我使用其他名稱作爲變量,但之後我在發佈之前更改了它們,以使它們更容易理解。順便說一下,第一個代碼的作品(使用正確的名稱)。 $ row ['declinazione']是一個字符串,包含名稱的偏角(在這種情況下名字是puella)。這是一個單詞列表,它是名稱單一偏角的一部分(它們共有6個),它們之間用逗號分隔,因爲那時我使用函數explode來創建一個數組。 – Bobbe12
數據庫中的行有空格,而你的字符串沒有。您可能需要在兩個字符串上都調用'trim'來比較前刪除前導/尾隨空白。 –