2016-05-19 7 views
0

私はデータベースのすべての値を返すクエリメソッドを呼び出すfind_allの静的メソッドを呼び出すUserデータベースをコーディングしていましたが、 mysqli_query()はmysqliであると想定しているので、C:\ xampp \ htdocs \ photogallery \ includes \ database.phpを20行目に入れています。私は何をしますか?ここでは、コードスニペット User.phpであるphp mysqli queryはパラメータ1が文字列になることを期待しています

require_once("database.php"); 
class User{ 

public static function find_all(){ 
    global $database; 
    $sql= "select * from users"; 
    $result_set = $database->query($sql); 


return $result_set; 
    } 
    public static function find_by_id($id=0){ 
     global $database; 
     $result_set = $database->query("SELECT FROM users where id={$id}"); 
     $found = $database->fetch_array($result_set); 
     return $found; 
    } 
} 

database.phpで

public function query($sql){ 
echo $sql; 
$this->last_query = $sql; 
echo $result = mysqli_query($sql,$this->connection); 
$this->confirm_query($result); 
return $result; 


} 

public function confirm_query($result){ 
    if(!$result){ 
     die("Database query failed:".mysqli_error()); 
    } 
} 

と次のようにコードが呼び出されるのindex.php:

<?php 
require_once("../includes/database.php"); 
require_once("../includes/user.php"); 

$q = User::find_all(); 


?> 

たびにエラーmysqli_queryはパラメータ1がmysqliであると想定しているので、C:\ xampp \ htdocs \ photogallery \ includes \ database.phpに20行目の文字列を入れてください。

+0

使用 'mysqli_query(の$ this - >接続、$ sqlを);'ファーストパラメータは「接続変数」で、第2は「クエリ変数」です。 – RJParikh

答えて

1

にあなたの引数を変更する必要がありますオブジェクト

公式0から:

mixed mysqli_query (mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ]) 

ですから、$this->connectionが最初に行くと$sql第二になり、引数の順序を変更する必要があります。

$result = mysqli_query($this->connection, $sql); 
+0

しかし、これらは私に他のエラーを与えていますCatchable fatal error:クラスmysqli_resultのオブジェクトを20行目のC:\ xampp \ htdocs \ photogallery \ includes \ database.phpの文字列に変換できません –

+0

@MonuJoshiこれは '$ result'文字列ではありません。 'echo'を削除する – dimlucas

0

だけでドキュメントをお読みください。
混合

mysqli_query (mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ])  

あなたは手続き的なスタイルでmysqliを使用する場合は、mysqli_queryの最初の引数は、接続でなければなりません

mysqli_query($this->connection, $sql)

関連する問題