从PHP/SQLite中的查询返回字符串
我正在尝试使用此查询的返回字符串创建cookie:从PHP/SQLite中的查询返回字符串,php,html,css,sqlite,Php,Html,Css,Sqlite,我正在尝试使用此查询的返回字符串创建cookie: $id = $database -> query("SELECT id FROM accounts WHERE username = '$username' AND password = '$password'"); 但是,它返回的是对象而不是字符串。我正在尝试返回行的“id”。如何执行此操作?您需要提取数组对象,以便访问id字符串 $id = $this->db->get()->row_array()->('i
$id = $database -> query("SELECT id FROM accounts WHERE username = '$username' AND password = '$password'");
但是,它返回的是对象而不是字符串。我正在尝试返回行的“id”。如何执行此操作?您需要提取
数组对象
,以便访问id字符串
$id = $this->db->get()->row_array()->('id');
然后您可以使用$id
并在cookie
中设置它:
setcookie("session", "$id", time()+3600);
您之所以得到一个对象,是因为您只执行了
查询
为此,您必须从中获取数据,
像
如果您使用的是sqlite
,那么
$data = sqlite_fetch_array($result, SQLITE_ASSOC);
$id=$data['id'];
提及
然后setcookie
像:
setcookie("session", "$id", time()+3600);
提及
如果您使用的是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>";
}
$result=$database->query(“从用户名='$username'和密码='$password'的帐户中选择id”);
如果($结果){
$row=$result->fetch(PDO::fetch_ASSOC);
回声“;
打印(行);
回声“;
}
测试此项您可以设置PDO在获取时返回的格式
http://php.net/manual/en/pdostatement.fetchcolumn.php
也可以直接返回列本身
顺便说一下,这里是我试图创建的cookie的格式:setcookie(“session”,“$id”,time()+3600);我想是的$database=newpdo(“sqlite:database.sqlite”);是的,如果有人输入密码whatever'或用户名='admin
,会发生什么?我看到这段代码是针对MySQL的。我正在使用SQLite。这在SQLite中如何工作?
http://php.net/manual/en/pdostatement.fetch.php
http://php.net/manual/en/pdostatement.fetchcolumn.php