相关疑难解决方法(0)

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

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万
查看次数

Laravel - 参数号无效:未定义参数

在Laravel上,为什么我会收到错误

参数号无效:未定义参数

我已经包含了所有参数.

当我直接在PHPMyAdmin上测试时,它工作正常.

码:

$results = \DB::select('SELECT client_id,
                               date_format(start_date,"%d/%m/%Y") as start_date,
                               date_format(end_date,"%d/%m/%Y") as end_date,
                               first_name, last_name, phone, postcode
                            FROM hire INNER JOIN client ON client.id = hire.client_id
                            where ((:sdate between start_date and end_date OR :edate between start_date and end_date) OR (:sdate <= start_date and end_date <= :edate)) AND car_id = :car_id', [
        'sdate'  => $start_date,
        'edate'  => $end_date,
        'car_id' => $car_id
    ]
);
Run Code Online (Sandbox Code Playgroud)

变量示例:

$start_date = $inputs['start_date'];  //2015-10-27
$end_date = $inputs['end_date'];     //2015-10-27
$car_id = $inputs['car_id'];         //5
Run Code Online (Sandbox Code Playgroud)

php mysql laravel

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

标签 统计

mysql ×2

php ×2

laravel ×1

parameters ×1

yii ×1