小编k t*_*e z的帖子

"参数号无效:未定义参数"插入数据

UPDATE

列出VALUES时我犯了一个小错误.我应该输入":username"而不是":alias".我想这个问题的答案可归功于任何想要它的人的免费统治吗?或者我删除这个问题?

原版的

我一直在使用Yii的活跃记录模式.现在,我的项目需要为一个小事务访问不同的数据库.我认为Yii的DAO对此有好处.但是,我收到了一个神秘的错误.

CDbCommand无法执行SQL语句:SQLSTATE [HY093]:参数号无效:未定义参数

这是我的代码:

public function actionConfirmation
{
    $model_person = new TempPerson();

    $model = $model_person->find('alias=:alias',array(':alias'=>$_GET['alias']));
    $connection=Yii::app()->db2;
            $sql = "INSERT INTO users (username, password, ssn, surname
                    , firstname, email, city, country) 
                    VALUES(:alias, :password, :ssn, :surname
                    , :firstname, :email, :city, :country)";
            $command=$connection->createCommand($sql);
            $command->bindValue(":username", $model->alias);
            $command->bindValue(":password", substr($model->ssn, -4,4));
            $command->bindValue(":ssn", $model->ssn);
            $command->bindValue(":surname", $model->lastName);
            $command->bindValue(":firstname", $model->firstName);
            $command->bindValue(":email", $model->email);
            $command->bindValue(":city", $model->placeOfBirth);
            $command->bindValue(":country", $model->placeOfBirth);
            $command->execute();
            $this->render('confirmation',array('model'=>$model));
}
Run Code Online (Sandbox Code Playgroud)

这构造了以下查询(如应用程序日志中所示):

INSERT INTO users (username, password, ssn, surname, firstname, email
                   , city, country) 
VALUES(:alias, :password, :ssn, :surname, …
Run Code Online (Sandbox Code Playgroud)

php mysql parameters yii

39
推荐指数
4
解决办法
8万
查看次数

Yii:使用与控制器布局不同的布局渲染动作

在Yii中,有没有办法使用layout与控制器定义的不同的动作来渲染单个动作?我有一个动作,我想格式化不同于其余的,并且从文档中不清楚是否可能.

php model-view-controller yii

22
推荐指数
2
解决办法
3万
查看次数

imageantialias在安装GD的情况下调用未定义的函数错误

我需要一个PHP脚本的帮助.它是一个已在网站中实施的CMS.尝试添加新产品IMAGE或尝试编辑当前图像时,我收到以下错误:

致命错误:在第233行的/home/mounts/home/m/mclh/web/admin/library/functions.php中调用未定义的函数imageantialias()

这是我对该领域的代码:

   if ($tmpDest['extension'] == "gif" || $tmpDest['extension'] == "jpg")
    {
       $destFile  = substr_replace($destFile, 'jpg', -3);
       $dest      = imagecreatetruecolor($w, $h);
       imageantialias($dest, TRUE);
    } elseif ($tmpDest['extension'] == "png") {
       $dest = imagecreatetruecolor($w, $h);
       imageantialias($dest, TRUE);
    } else {
      return false;
    }
Run Code Online (Sandbox Code Playgroud)

第233行是第5行.

php gd function

18
推荐指数
2
解决办法
2万
查看次数

生成一个连续的五位字母数字ID

总体概述:

下面的函数吐出一个随机ID.我正在使用它来提供识别记录的确认别名.但是,我必须检查碰撞(但不太可能),因为我们只使用五位数长度.使用下面列出的允许字符,它可以达到大约3300万个组合.最终我们将获得500万左右的记录,因此碰撞成为一个问题.

问题:

检查欺骗别名效率低,资源量大.搜索500万条记录很多.特别是当该搜索由不同用户同时进行时.

我的问题:

有没有办法'自动增加'此功能允许的组合?意思是我只需搜索最后一条记录的别名并转到下一个组合?

已确认的限制:

我意识到代码与下面的函数有很大的不同.我也意识到mysql具有数字ID的自动增量功能,但该项目需要一个五位数的别名,允许的字符为"23456789ABCDEFGHJKLMNPQRSTUVWXYZ".我的双手就是这个问题的关键.

我目前的职能:

 public function random_id_gen($length)
 {
     $characters = '23456789ABCDEFGHJKLMNPQRSTUVWXYZ';
     $max = strlen($characters) - 1;
     $string = '';

     for ($i = 0; $i < $length; $i++) {
         $string .= $characters[mt_rand(0, $max)];
     }

     return $string;
 }
Run Code Online (Sandbox Code Playgroud)

php mysql algorithm

12
推荐指数
1
解决办法
1727
查看次数

使用Active Record在Yii中调用数据库视图

我理解如何使用Yii的活动记录环境查询表.我找不到调用mysql视图的文档.另外,我知道如何使用gii工具为活动记录中的表建模,但有没有办法为数据库视图执行此操作?

php mysql activerecord yii

8
推荐指数
2
解决办法
6259
查看次数

Yii 1.1.7 - 找不到gii页面

我想在Yii中使用Gii.我的第一个webapp的protected/config/main.php已将此部分取消注释,按照Yii文档中的说明启用Gii(123.45.67.123是我尝试访问的计算机上的公共IP地址):

'modules'=>array(
            // uncomment the following to enable the Gii tool
            'gii'=>array(
                    'class'=>'system.gii.GiiModule',
                    'password'=>'123456',
                    // If removed, Gii defaults to localhost only. Edit carefully to taste.
                    'ipFilters'=>array('123.45.67.123','127.0.0.1','::1'),
            ),
    ),
Run Code Online (Sandbox Code Playgroud)

我还通过取消注释以下内容在我的protected/config/main.php中启用了urlManager:

// uncomment the following to enable URLs in path-format
            'urlManager'=>array(
                    'urlFormat'=>'path',
                    'rules'=>array(
                            '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                            '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
                    ),
            ),
Run Code Online (Sandbox Code Playgroud)

当我访问我的Yii网站时,例如www.example.org,基本的Yii页面加载正常.当我做www.example.org/gii时,我得到了404.当我去www.example.org/index.php?r=gii时,我得到了404.为什么我的Gii页面找不到?我使用的是CentOS 5.6.

php url-routing yii

6
推荐指数
1
解决办法
1万
查看次数

Xdebug没有在Netbeans中显示php变量值或对象结构

我在工作的新盒子里设置我的环境.我配置netbeans就像这里说的那样.我之前做过这个.上次这是相当直接的,并且第一次工作(在编程中很少见).但是,当我在netbeans中运行xdebug时,我无法查看变量值或对象结构.这是一个截屏.

Netbeans屏幕截图

应该有更多的信息.我可以将$model变量打印到屏幕上.它具有数组值和其他信息.

NetBeans IDE 6.9.1

xdebug 2.1.1

xampp 1.74

php apache xampp netbeans xdebug

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

如何配置YII i18n功能才能使用gettext?

我安装了yii-web-start扩展,它使用数据库进行消息转换,但我需要使用gettext.

我在哪里以及如何配置YII-i18n?

internationalization yii

3
推荐指数
1
解决办法
1103
查看次数

调度数据库设计

我需要在我的工作中为各个位置创建一个调度程序.我需要为每个特定位置安排从早上8点到下午5点的十五分钟时段.我试图围绕所需的数据库设计.

一些参数:

  1. 时间表至少需要两周时间.
  2. 与其他位置相比,每个位置都有一个独特的时间表.
  3. 时间表必须在15分钟内完成.
  4. 当块满时,每个位置都有不同的标准.例如,一个位置可以每15分钟为3个客户服务,因此他们的块将是三分之一.另一个位置可以每15分钟为5个客户提供服务,因此在安排了5个人之后他们的积木将会满员.

每次我草拟这一点,我都违反了一些数据库规范化规则.主要目标是能够查询特定位置以查看打开的"插槽"并显示它们.任何人都知道我应该如何构建我的表,以便我刚才描述的查询不必更加努力地工作?

mysql database-design scheduling normalization

3
推荐指数
1
解决办法
2754
查看次数

在PHP中生成随机ID,没有零,一个,一个或一个L'

我想创建一个随机ID,就像机票,没有任何零,一个,一个或一个L'.如果在生成过程中使用服务器时间会很好,所以没有两个ID是相同的.怎么会这样做?

php

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

在MVC中放置逻辑的适当位置

我正在用yii框架编写一个mvc web应用程序.我有一个业务逻辑,我不确定在哪里放置它. $usernameid=$model->random_id_gen('5');是我正在谈论的功能.

SiteController:

<!-- snip -->
      public function actionIndex()
       {
         $model = new Users();

         if (isset($_POST['Users'])) {
            //call the active record table model
            $model = new Users();

            //massively assign attributes
            $model->attributes=$_POST['Users'];

            //generate random userid
            $usernameid=$model->random_id_gen('5');


<!-- snip -->
Run Code Online (Sandbox Code Playgroud)

用户活动记录类:

 <!-- snip -->
  public function random_id_gen($length)
    {
        $characters = '23456789ABCDEFGHJKLMNPQRSTUVWXYZ';
        $max = strlen($characters) - 1;
        $string = '';

        for ($i = 0; $i < $length; $i++) {
            $string .= $characters[mt_rand(0, $max)];
        }

        return $string;
    }
Run Code Online (Sandbox Code Playgroud)

我的问题:这个id生成器函数是否属于Active记录模型?它应该在控制器中吗?它应该是一个单独的模型,因为它是"业务逻辑",但与数据库没什么关系?

我正在努力改善我的MVC课程"膨胀".提前谢谢你们.

更新 我正在寻找一个特定的解决方案.如果有这样的约定,似乎问题已经发展成"应该把图书馆放在哪里".

model-view-controller yii

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