strpos()期望参数1为字符串,给定资源

时间:2013-03-27 18:43:22

标签: php strpos

我希望$ description是从Description列中提取的一串字。然后我想检查字符串是否有$ searchterm(在此代码块之前定义了一个单词)。

//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); 

2 个答案:

答案 0 :(得分: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) {

我还建议遵循上述评论中的建议。您正在编写在键入时已过时的代码。

答案 1 :(得分: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。它被弃用了。