这里是my_sqli
数据库连接
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
函数中得到两个参数:
public function getchat($userId, $id){
$meesage = array();
$query = "SELECT u.user_id FROM `users` u where u.id='$id'";
$resultObj = $this->dbConnection->query($query);
$user = $resultObj->fetch_assoc())
$userid = $user;
}
我从查询中获取$userid
变量并在此查询中使用它:
$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
值来测试它。
答案 0 :(得分:3)
Chage this line
$userid = $user;
到此
$userid = $user['user_id'];
因为$ user是包含您选择的所有列的数组,并且您只需要从中获取ID。
答案 1 :(得分:0)
你的问题在于:
$user = $resultObj->fetch_assoc())
$userid = $user;
因为mysqli::fetch_assoc()
检索了一个关联数组。因此,您必须像这样访问它(给定选择中的列名称):
$userid = $user["user_id"];