2017-07-19 1 views
2

my_sqliデータベース接続PHPのデータベースに接続された2つのSELECTクエリを使用して、ここで

class FbChatMock { 
    // Holds the database connection 
    private $dbConnection; 
    private $_dbHost = 'localhost'; 
    private $_dbUsername = 'root'; 
    private $_dbPassword = ''; 
    public $_databaseName = 'erp5_temp2'; 
    public function __construct() { 
     $this->dbConnection = new mysqli($this->_dbHost, $this->_dbUsername, 
      $this->_dbPassword, $this->_databaseName); 
     if ($this->dbConnection->connect_error) { 
      die('Connection error.'); 
     } 
    } 

私はgetchat機能で2つのパラメータを取得していますですこのクエリの内部で使用します。

$query = "SELECT u.id,c.message,c.sent_on FROM `chat` c JOIN 
    `users` u ON c.user_id=u.user_id where u.id='$id' AND c.user_id='$userid'"; 
    // Execute the query 
    $resultObj = $this->dbConnection->query($query); 
    // Fetch all the rows at once. 
    while ($rows = $resultObj->fetch_assoc()){ 
     $meesage[] = $rows; 
    } 
    return $meesage; 

そして、問題は、私の最初のSQLクエリが正しく動作していないということです。私はechoから$useridの値を表示してテストしました。この

$userid = $user['user_id']; 

答えて

3

チャゲこの行を

$userid = $user; 

$ユーザは、それはあなたが選択したすべての列を持つ配列で、あなたはそれからのみIDを取得する必要があるため。

+0

この$ userid = $ user ['user_id']で行を変更します。 echo($ userid); exit();それはエコー結果を表示していません –

0

あなたの問題はここにある:

$user = $resultObj->fetch_assoc()) 
$userid = $user; 

mysqli::fetch_assoc()ため、連想配列を取得して。したがって、そのようにアクセスする必要があります(選択した列名を指定して)。

$userid = $user["user_id"]; 
+0

私はこの$ userid = $ user ['user_id']で行を変更しました。 echo($ userid); exit();しかしそれはエコー結果を表示していません –

+0

'var_dump()'を試してみて –

関連する問題