我試圖創建與此查詢的返回字符串一個cookie:返回從查詢字符串PHP/SQLite的
$id = $database -> query("SELECT id FROM accounts WHERE username = '$username' AND password = '$password'");
但是,它返回一個對象而不是字符串。我正在嘗試返回該行的「id」。我該怎麼做呢?
我試圖創建與此查詢的返回字符串一個cookie:返回從查詢字符串PHP/SQLite的
$id = $database -> query("SELECT id FROM accounts WHERE username = '$username' AND password = '$password'");
但是,它返回一個對象而不是字符串。我正在嘗試返回該行的「id」。我該怎麼做呢?
您需要提取array object
,以便您可以訪問id字符串!
$id = $this->db->get()->row_array()->('id');
那麼你可以使用$id
,並將其設置在cookie
:
setcookie("session", "$id", time()+3600);
我看到這個代碼是針對MySQL的。我正在使用SQLite。這將如何在SQLite中工作? – 2013-03-05 04:41:18
你得到一個對象,因爲你只executed
的query
。
對於這一點,你必須從中提取數據, 像
$result = $database -> query("SELECT id FROM accounts WHERE username = '$username' AND password = '$password'");
然後如果你使用的是sqlite
然後,
$data = sqlite_fetch_array($result, SQLITE_ASSOC);
$id=$data['id'];
參考http://www.php.net/manual/en/function.sqlite-fetch-array.php
然後setcookie
,如:
setcookie("session", "$id", time()+3600);
參考http://php.net/manual/en/function.setcookie.php
如果您正在使用PDO
然後
嘗試這樣的:
$result=$database->query("SELECT id FROM accounts WHERE username = '$username' AND password = '$password'");
if ($result) {
$row = $result->fetch(PDO::FETCH_ASSOC);
echo "<pre>";
print_r($row);
echo "</pre>";
}
fetchColumn看起來很好。不管怎麼說,多謝拉! – 2013-03-05 04:43:58
您可以設置什麼樣的格式PDO進行讀取時返回,
http://php.net/manual/en/pdostatement.fetch.php
或者你可以返回列本身,
http://php.net/manual/en/pdostatement.fetchcolumn.php
順便說一句,這裏是我想創建cookie的格式:setCookie方法(「會議」,「$標識」,時間()+ 3600); – 2013-03-05 04:37:01
這是PDO ::查詢? – shapeshifter 2013-03-05 04:40:05
我認爲是這樣的... $ database = new PDO(「sqlite:database.sqlite」); – 2013-03-05 04:40:28