小编Sco*_*ott的帖子

登录后如何访问用户信息?

我正在构建一个基本的应用程序,我正在试图弄清楚如何将用户信息从login.php传递给index.php.这是我到目前为止所得到的:我有一个登录页面,通过用户类通过数据库提交和验证用户.之后,用户属性将设置为从数据库返回的值.从那里,id存储在会话中.我将如何从页面到页面访问用户信息.我应该构建一个构造方法来使用会话ID查询数据库吗?这是一种安全或有效的方法吗?一个例子是堆栈溢出.您可以在每个页面的顶部看到用户名的方式.

php mysql session

5
推荐指数
1
解决办法
144
查看次数

数据库查询失败

我一直收到消息说数据库查询失败::你的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"WHERE id = 2"附近使用正确的语法,我似乎无法找到原因.我的用户插入方法工作正常,但无论出于何种原因,我无法通过此更新方法解决此错误:

public function update(){
  global $database;

  $sql  = "UPDATE users SET ";
  $sql .= "username='"   . $database->escape_value($this->username)   ."', "; 
  $sql .= "password='"   . $database->escape_value($this->password)   ."', "; 
  $sql .= "first_name='" . $database->escape_value($this->first_name) ."', "; 
  $sql .= "last_name='"  . $database->escape_value($this->last_name)  ."', "; 
  $sql .= "WHERE id="    . $database->escape_value($this->id); 
  $database->query($sql);
  if($database->affected_rows() == 1){
     $message = "success";

  }else{
     $message = "no " . mysql_error();
  }
  return $message;
}
Run Code Online (Sandbox Code Playgroud)

php mysql

0
推荐指数
1
解决办法
1586
查看次数

是什么导致这个PHP语法错误?

我通常非常擅长追踪语法错误,但在我的生活中,我不能找到并纠正这个错误:

Parse error: syntax error, unexpected ';', expecting T_FUNCTION in /Users/scottmcpherson/Sites/phpsites/trackstar/protected/controllers/IssueControll er.php on line 207
Run Code Online (Sandbox Code Playgroud)

第207行是具有结束分隔符的最后一行:?>

<?php

class IssueController extends Controller
{
    /**
     * @var string the default layout for the views. Defaults to '//layouts/column2', meaning
     * using two-column layout. See 'protected/views/layouts/column2.php'.
     */
    public $layout='//layouts/column2';
    private $_project = null;

    /**
     * @return array action filters
     */
    public function filters()
    {
        return array(
            'accessControl', // perform access control for CRUD operations
            'projectContext + create', //check to ensure valid project context
        ); …
Run Code Online (Sandbox Code Playgroud)

php

0
推荐指数
1
解决办法
676
查看次数

当第一个数组键未知时,如何在第一个数组键的开头添加:?

我正在尝试将类属性动态添加到PDO预处理语句中.为了实现这一点,我需要创建一个数组,它将从类中获取属性,将它们放在一个数组中,并在每个键的开头添加:.然后,用逗号分隔每个键.我最接近实现这一点的是使用:

foreach ($property as $field)
   $propertyValues = implode(", :", array_keys($property));
return $propertyValues;
}  
Run Code Online (Sandbox Code Playgroud)

它给了我
用户名,:密码

我只需要一种方法来添加:到第一个键,在这种情况下是用户名.看起来就像

:用户名密码

但请记住,我正在尝试使其动态化,以便我可以将其功能扩展到其他类,并且我并不总是会知道第一个数组键是什么.

如果您有兴趣阅读整个班级,请点击此处:

<?php 
require_once("../config/main.php");

class Database{

protected static $dbFields = array('username', 'password');
public $dbConnection;
public $tableName = 'users';
public $id;
public $username;
public $password;
public function __construct() {
$this->connect();
}

public function connect(){
try {
$this->dbConnection = new PDO("mysql:host=".DB_SERVER."; dbname=".DB_NAME, DB_USER,  DB_PASS);

} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
}
public function properties() {
$properties = array();
foreach …
Run Code Online (Sandbox Code Playgroud)

php arrays pdo

-1
推荐指数
1
解决办法
68
查看次数

标签 统计

php ×4

mysql ×2

arrays ×1

pdo ×1

session ×1