2013-03-27 50 views
-5

我希望$ description是從Description列中拉出的一串字。然後我想檢查字符串是否有$ searchterm(在此代碼塊之前定義的一個字)。strpos()期望參數1是字符串,給出的資源

//3. (a)for each, (b) if search term is in the description column, put line into sorted table. 
// a. number of rows in spreadsheet 
    $results = mysql_query("SELECT * FROM csv"); 
    $num_rows = mysql_num_rows($results); 

// b. check rows and put into sorted table 
    $i=1; 
do 
    { 
    $i++; 
    $description = mysql_query("SELECT Description FROM csv"); 

    if (strpos($description,$searchterm) !== false) { 
      echo $description . "<br><br>"; 
     } // end if 

    } // end do 
while ($i<=$num_rows); 
+1

你需要首先獲取行,使用mysql_fetch_ *函數 – 2013-03-27 18:44:22

+3

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。 – Kermit 2013-03-27 18:44:30

回答

2

這是一個基本的PHP/MySQL教程將教你。 mysql_query()產生資源標識符。你仍然需要去使用mysql_fetch_assoc()得到你的結果。

$result= mysql_query("SELECT Description FROM csv"); 
$row = mysql_fetch_assoc($result); 

    if (strpos($row['description'],$searchterm) !== false) { 

我還建議您遵照上述評論中的建議。您正在編寫在輸入時已過時的代碼。

+0

很好的答案。 +1 – hek2mgl 2013-03-27 21:11:00

0
if(mysql_num_rows($description) >=1){ 
$result = mysql_fetch_assoc($description); 
    $words = $result['Description']; 
if (strpos($word ,$searchterm) !== false) { 
      echo $word. "<br><br>"; 
     } 
} 

如果行先返回,然後獲取,則計數。重要的是,使用PDO而不是mysql。它已被棄用。

相關問題