2017-03-19 6 views
-3

私はJQueryオートコンプリートの提案を取得するために短いPHPコードでこの問題を抱えています。私は多くのことを試してみましたが、私は解決策を見つけることができません:警告:mysql_fetch_array()は、パラメータ1がリソースになることを期待しています。

//connect to your database 
<?php require('Connections/con_1.php');?> 
<?php 

//retrieve the search term that autocomplete sends 
$term = trim(strip_tags($_REQUEST['term'])); 

//save search queries to csv file 
$file = fopen("searchqueries.csv","a"); 
fputcsv($file,explode(',',$term)); 
fclose($file); 

//query the database for entries containing the term 
$qstring ="USE database_2";"SELECT DISTINCT Pracodawca as value FROM Pensje WHERE Pracodawca LIKE '%".$term."%'"; 
$result = mysql_query($qstring) or die($result.mysql_error()); 

//loop through the retrieved values   
while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) 
    { 

    //build an array 
    $row['value']=htmlspecialchars(stripslashes($row['value'])); 
    $row_set[] = $row['value']; 
    $row['value']= 
    $row_set[] = array('value' => ($row['value'])); 
    } 

//format the array into json data 
echo json_encode($row_set, JSON_UNESCAPED_UNICODE); 
?> 

私はエラー「警告:は、mysql_fetch_array()は、パラメータ1は資源であることを期待して、指定したboolean」を取得と結果がNULLです。

私は間違っていますか?

+0

新しいコードを書いているなら、** _ please_は 'mysql_ *'関数**を使わないでください。彼らは古くて壊れていて、PHP 5.5では廃止されました(セキュリティアップデートをもはや受け取っていなくなっています)、PHP 7では完全に削除されました。['PDO'](https://secure.php.net/manual /en/book.pdo.php)または['mysqli_ *'](https://secure.php.net/manual/en/book.mysqli.php)を_prepared statements_と_parameter binding_で置き換えてください。詳細については、http://stackoverflow.com/q/12859942/354577を参照してください。 – Chris

+0

まず第一に、mysqli_ *を使用してください。二番目...一度に2つのクエリを送信することはできません。それらを分離する必要があります。第3 ...最初のものをうまく修正してください。多分誰かが助けになるでしょう。 –

答えて

0

mysql_ *関数を使用しないでください。

変更するには、次の行:

$qstring = "SELECT DISTINCT Pracodawca as value FROM Pensje WHERE Pracodawca LIKE '%".$term."%'"; 

$qstring ="USE database_2";"SELECT DISTINCT Pracodawca as value FROM Pensje WHERE Pracodawca LIKE '%".$term."%'"; 

データベースはすでにとの接続時に選択されたとして、あなたがphpを通じて照会するときUSE dbnameを渡す必要はありません通りデータベース。

もう一度お試しください。

関連する問題