0

こんにちは、私はこれに対する解決策を探しましたが、いくつかの答えが見つかりました。コードを何度も編集しても成功しなかったので、ここで直接尋ねています。

$return_arr = array();
$fetch = tep_db_query("select * from products, " . TABLE_PRODUCTS_DESCRIPTION . " WHERE products.products_status = '1' and products.products_id = " . TABLE_PRODUCTS_DESCRIPTION . ".products_id and " . TABLE_PRODUCTS_DESCRIPTION . ".language_id = '" . (int)$languages_id . "' and " . TABLE_PRODUCTS_DESCRIPTION . ".products_name LIKE '%" . $_GET['term'] . "%'  LIMIT 0,10");
if($fetch === FALSE) {
    die(mysql_error());
}
while ($row = mysql_fetch_assoc($fetch)) 
{
   array_push($return_arr, $row['products_name']);
}  
print json_encode($return_arr);

mysql_fetch_assoc() parameter 1 resource, object given in ... 6 行目

私はそれがどこにあるかを理解していますが、問題を見つけることができないようです。

前もって感謝します

4

1 に答える 1

0

tep_db_fetch_array() を使用する

  $return_arr = array();
  $fetch = tep_db_query("select * from products, " . TABLE_PRODUCTS_DESCRIPTION . " WHERE products.products_status = '1' and products.products_id = " . TABLE_PRODUCTS_DESCRIPTION . ".products_id and " . TABLE_PRODUCTS_DESCRIPTION . ".language_id = '" . (int)$languages_id . "' and " . TABLE_PRODUCTS_DESCRIPTION . ".products_name LIKE '%" . $_GET['term'] . "%'  LIMIT 0,10");

  echo $fetch; die;
  if($fetch === FALSE) {
      die(mysql_error());
  }
  while ($row = tep_db_fetch_array($fetch))
  {
     array_push($return_arr, $row['products_name']);
  }  
  print json_encode($return_arr);

文字列 mysqli_real_escape_string (mysqli $link 、文字列 $escapestr )

link - mysqli_connect() または mysqli_init() によって返されるリンク識別子 escapestr - エスケープされる文字列。

http://php.net/manual/en/mysqli.real-escape-string.phpの例を見つけることができます。最初のパラメーターは、mysqli_connect() によって返されるリンク識別子である必要があります。

于 2013-09-05T11:07:31.107 に答える